当我使用pattren时
"(see|see also) [\w\d]+"
on Text
see page
see also page
但输出匹配是
see page
see also
如果我互换了,请参阅
"(see also|see) [\w\d]+"
输出
see page
see also page
我认为两者都是一样的。我可以知道为什么会这样吗?
答案 0 :(得分:6)
删除替换并离开see [\w\d]+
将匹配字符串“另请参阅页面”,因为see also
满足。正则表达式与交替处理(至少在这种情况下)的方式是它将尝试按顺序将每个选项与模式的其余部分匹配,并在成功完成时立即停止,或者返回其中的替代选项失败。当你颠倒交替时,它首先尝试与see also
匹配,但是会因“看到页面”而失败。
将其写为see( also)? [\w\d]+