【问题标题】:get number after matching string in ruby with regex用正则表达式匹配ruby中的字符串后获取数字
【发布时间】:2020-09-28 05:26:29
【问题描述】:

我正在尝试从字符串中获取 tracking_number 的数量。

string = '{:rate_type=>"PAYOR_ACCOUNT_PACKAGE", :rated_weight_method=>"ACTUAL", tracking_number=>"795856589804"}, :group_number=>"0", :package_rating=>{:actual_rate_type=>"PAYOR_ACCOUNT_PACKAGE", :package_rate_details=>{:rate_type=>"PAYOR_ACCOUNT_PACKAGE", :rated_weight_method=>"ACTUAL", :minimum_charge_type=>"CUSTOMER_FREIGHT_WEIGHT", :billing_weight=>{:units=>"LB", :value=>"1.0"}}'

我试过/tracking_number=>['"]((.*?)['"])*/,但在比赛结束后得到了所有的字符串。

谁能帮帮我。

我已经在https://rubular.com/r/ZcmJinTHDQSDsZ尝试过这个

我想要的输出是795856589804

【问题讨论】:

  • 那个字符串是从哪里来的?它看起来像一个 Ruby 哈希。

标签: regex ruby string


【解决方案1】:

从您的正则表达式末尾删除*。这就是你在匹配后得到所有字符串的原因。

如果您只想获取数字部分,请使用此正则表达式。

/tracking_number=>"(\d+)"/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    • 2011-11-08
    • 2013-06-12
    • 1970-01-01
    • 2023-01-30
    相关资源
    最近更新 更多