如果我有这样的字符串: [3 Series] 315
,我如何解析它以使用 Ruby 中的正则表达式从中生成子字符串 series="3 series" 和 model="315" ?这是正确的方法吗:
"[3 Series] 315".split /[|\]\s/
系列可以是一个字符串或只是一个数字
_, series, model = "[3 Series] 315".scan(/(\d+\s\w+|\d+)/)
或者
_, series, model = "[3 Series] 315".split /\[|\]\s/
series
# => "3 Series"
model
# => "315"
re = '\[(\w \w*)\] (\d*)'
str = "[3 Series] 315"
_, series, model = str.match(re).to_a
=> ["[3 Series] 315", "3 Series", "315"]
series
=> 3 Series
model
=> 315
另一种方法
> result, series, model = /\[(.+)\] (.+)/.match(str).to_a.flatten
> series
# => "3 series"
> model
# => "315"