考虑这个正则表达式.
a*b
Run Code Online (Sandbox Code Playgroud)
这将失败的情况下 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac
这会使67调试器中的步骤失败.
现在考虑这个正则表达式.
(?>a*)b
Run Code Online (Sandbox Code Playgroud)
这将失败的情况下 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac
这会使133调试器中的步骤失败.
最后这个正则表达式:
a*+b (a variant of atomic group)
Run Code Online (Sandbox Code Playgroud)
这将失败的情况下 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac
这会使67调试器中的步骤失败.
当我检查基准测试atomic group (?>a*)b执行179%得更快.
现在原子组禁用回溯.所以比赛中的表现很好.
但为什么步数更多呢?有人可以解释一下吗?
为什么会有差异.在两个原子团(?>a*)b和之间的步骤a*+b.
他们的工作方式不同吗