regex - 用正则表达式匹配ruby中的字符串后获取数字
问题描述
我正在尝试从字符串中获取 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
解决方案
从正则表达式的末尾删除*
。这就是您在匹配后获得所有字符串的原因。
如果您只想获取数字部分,请使用此正则表达式。
/tracking_number=>"(\d+)"/
推荐阅读
- python - AttributeError:“str”对象没有属性“configure”
- excel - 连续单元格的VBA部分匹配(值/字符串)
- javascript - 使用 Jquery 上下循环遍历 div
- android - Android 和 Windows 之间的 Socket 通信
- javascript - 如何切片特定的字符串?
- java - 从 java 应用程序连接到 kubernetes pod
- spring-cloud-sleuth - 有没有办法重命名traceId和spanId?
- python - 在Python中从列表中提取匹配的子字符串到新列表
- python - 如何在 google colab 中读取 .docx 文件?
- c# - 有没有办法在 HttpRequest 中同时返回 StatusCode 和 Content?