问题描述
我对 a(boy)?(boycott)?
进行了正则表达式 aboycott
测试。
我的思考过程
-
a
与a
匹配 -
b
与b
匹配 -
o
与o
匹配 -
y
与y
匹配 c
与b
不匹配
因为 (boy) 是可选的,所以它的状态被保存,REGEX 引擎可以回溯尝试保存的状态
-
b
与b
匹配 -
o
与o
匹配 -
y
与y
匹配 -
c
与c
匹配 -
o
与o
匹配 -
t
与t
匹配 -
t
与t
匹配
最终匹配应该是 aboycott
但它匹配 aboy
。这里发生了什么?如果我没猜错,?
是贪婪的,它首先尝试匹配并保存状态。如果没有匹配项,则返回到保存的位置。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)