【发布时间】:2015-07-06 21:34:32
【问题描述】:
我正在尝试匹配文本:
1.“嘿嘿嘿嘿嘿”
2.“嘿嘿嘿嘿嘿”
使用正则表达式:
一个 /(\w+) \1\w/
b /(\w+) (\w+)\w/
c /(\w+) (?1)\w/
- 正则表达式 a 完全匹配 1,并且 2 完全,但最后一个 'y'。
- 正则表达式 b 完全匹配 1 和 2强>。
- 正则表达式 c 不匹配 1 或 2。
在http://www.rexegg.com/regex-disambiguation.html#subroutines 之后,我认为 b 和 c 是等价的。但显然,他们不是。
有什么区别?为什么子程序不工作,而复制相同的正则表达式工作?
在这里进行实验:https://regex101.com/#pcre
【问题讨论】: