我正试图从这个字符串中提取照片ID:30280

"--- !ruby/struct:PhotoJob \nimage_id: 30280\n"

我以前在regex中见过这样的事情,在这里您可以查找一些匹配的参数,比如/nimage_id: \d/,然后返回\d
如何从该字符串返回/d或数字30280

最佳答案

使用组匹配"--- !ruby/struct:PhotoJob \nimage_id: 30280\n".scan(/image_id: (\d+)/)[0]

>> matches = "--- !ruby/struct:PhotoJob \nimage_id: 30280\n".match(/struct:(.*) .*image_id: (\d+)/m)
=> #<MatchData "struct:PhotoJob \nimage_id: 30280" 1:"PhotoJob" 2:"30280">
>> matches[1]
=> "PhotoJob"
>> matches[2]
=> "30280"

10-06 12:26