我有正则表达式
(\d|(IV|I{0,3})|\bone\b|\btwo\b|\bthree\b|\bfour\b)[\w\s]+
如果我使用句子
但是,句子
当我修改正则表达式时如下
(\bone\b|\btwo\b|\bthree\b|\bfour\b|\d|(IV|I{0,3}))[\w\s]+
小组按预期匹配。
所以,我的问题为什么改变小组的顺序工作..
我尝试查找正则表达式的排序和优先级,但找不到任何相关的内容..
THX
答案 0 :(得分:3)
我认为你在你的正则表达式中犯了一个错误,它应该是
(\d|(IV|I{1,3})|\bone\b|\btwo\b|\bthree\b|\bfour\b)[\w\s
注意它是I{1,3}
,而不是I{0,3}
。
因此,正因为如此,你的正则表达式匹配零我,因此空捕获组1