Rails由完全正则表达式匹配分割

时间:2017-07-11 13:28:08

标签: ruby regex

如何按完整正则表达式匹配?如果正则表达式包含组,则每个完整匹配都将是所有组的数组。但是如何只获得一系列完整的匹配,而不将它们进一步划分成组?

示例:

"foo-14".scan(/(foo|bar)-([0-9a-zA-Z]+)/)

返回:

[["foo", "14"]]

但我想:

["foo-14"]

Split的工作方式类似。

1 个答案:

答案 0 :(得分:3)

您可以在正则表达式中使用非捕获组:

"foo-14".scan(/(?:foo|bar)-[0-9a-zA-Z]+/)
#=> ["foo-14"]