【发布时间】:2017-02-21 20:16:18
【问题描述】:
我正在尝试匹配这个字符串:
NFPA 101 19.7.2.2
并且正在使用这个正则表达式:
(NFPA) (\w+)(?: ?(?:([^.]+)\.?)+)?
这似乎与字符串匹配,但捕获的组不是我要查找的。我期望:
- NFPA
- 101
- 19
- 7
- 2
- 2
我得到的是这样的:
- NFPA
- 101
- 2
请参阅这个 rubular 示例: http://rubular.com/r/43VY0yyNa7
就好像最后一个重复捕获组被最终匹配覆盖。有没有办法让所有这些作为我需要的捕获组返回?
添加了另一个正则表达式,它给了我上面描述的类似问题: (NFPA) (.+) (.+?.)+(.+)
【问题讨论】:
标签: ruby-on-rails regex rubular