如何按完整正则表达式匹配?如果正则表达式包含组,则每个完整匹配都将是所有组的数组。但是如何只获得一系列完整的匹配,而不将它们进一步划分成组?
示例:
"foo-14".scan(/(foo|bar)-([0-9a-zA-Z]+)/)
返回:
[["foo", "14"]]
但我想:
["foo-14"]
Split的工作方式类似。
答案 0 :(得分:3)
您可以在正则表达式中使用非捕获组:
"foo-14".scan(/(?:foo|bar)-[0-9a-zA-Z]+/)
#=> ["foo-14"]