你如何在正则表达式中使用变量?

Tri*_*rip 2 ruby regex yaml ruby-on-rails

我想从这个字符串中取出照片ID 30280::

"--- !ruby/struct:PhotoJob \nimage_id: 30280\n"
Run Code Online (Sandbox Code Playgroud)

我已经在regex中看到过这种事情,之后你可以找到匹配的几个参数/nimage_id: \d/然后返回\d.

/d该如何返回或该30280字符串中的数字?

Pan*_*kos 5

有趣的是,你有一个Ruby Struct,所以你可以做以下事情,让YAML负责解析.

PhotoJob = Struct.new(:image_id)
job = YAML.load("--- !ruby/struct:PhotoJob \nimage_id: 30280\n")
job.image_id
=> 30280
Run Code Online (Sandbox Code Playgroud)