0

我有一个可以在输入字符串中出现任意次数的组。我需要获取所有匹配项目的列表。

例如,对于输入:

example repeattext 1 anything here repeattext 2 anything repeattext 3

我的正则表达式是:

 (repeattext \d)

我想获取该组的匹配列表。是否可以在这里使用正则表达式或者我需要自己解析它?

4

2 回答 2

1

利用

result = subject.scan(/repeattext \d+/)
=> ["repeattext 1", "repeattext 2", "repeattext 3"]

请参阅.scan()方法的文档。

于 2012-06-14T06:40:47.667 回答
1

是的,您可以在这里使用正则表达式。您现有的正则表达式会很好。

请参阅http://rubular.com/r/fS8c9C61rG在您的示例中使用它。

如果数字将变为 10 或更高,请考虑以下正则表达式:

(repeattext \d+)
              ^
              |
              `- matches 1 or more repeating of previous
于 2012-06-14T06:06:04.223 回答