我有一个可以在输入字符串中出现任意次数的组。我需要获取所有匹配项目的列表。
例如,对于输入:
example repeattext 1 anything here repeattext 2 anything repeattext 3
我的正则表达式是:
(repeattext \d)
我想获取该组的匹配列表。是否可以在这里使用正则表达式或者我需要自己解析它?
我有一个可以在输入字符串中出现任意次数的组。我需要获取所有匹配项目的列表。
例如,对于输入:
example repeattext 1 anything here repeattext 2 anything repeattext 3
我的正则表达式是:
(repeattext \d)
我想获取该组的匹配列表。是否可以在这里使用正则表达式或者我需要自己解析它?
利用
result = subject.scan(/repeattext \d+/)
=> ["repeattext 1", "repeattext 2", "repeattext 3"]
请参阅该.scan()
方法的文档。
是的,您可以在这里使用正则表达式。您现有的正则表达式会很好。
请参阅http://rubular.com/r/fS8c9C61rG在您的示例中使用它。
如果数字将变为 10 或更高,请考虑以下正则表达式:
(repeattext \d+)
^
|
`- matches 1 or more repeating of previous