gpt4 book ai didi

regex - RegexBuddy 中的 "steps"是什么?

转载 作者:行者123 更新时间:2023-12-02 08:16:37 24 4
gpt4 key购买 nike

RegexBuddy选项卡上的“调试”显示了如何逐步执行正则表达式。但这些步骤究竟是什么意思?每一步背后都有哪些操作?

最佳答案

步数基本上是输入中当前位置改变了多少次,这是一个非常好的性能指标。

“当前位置”可以在任何字符或字符之间(包括整个输入之前和之后)。

简化它,正则表达式引擎通过沿输入移动当前位置并评估正则表达式是否在该位置匹配来处理输入。他们还跟踪比赛在正则表达式中的位置。

我不想把这个答案变成正则表达式教程,但是……正则表达式引擎总是在匹配的同时尽可能多地消耗输入。举个简单的例子,给定输入 "12345"和正则表达式 .*1.* ,正则表达式引擎将首先应用 .*消耗所有输入离开输入末尾的位置,无法匹配 1 ,然后通过一次“取消”一个字符来回溯,直到找到 1 ,然后继续。您可以看到仅处理初始 .* 就需要 9 个步骤。 .

相比之下,如果正则表达式是 [^1]*1.* ,正则表达式将匹配 "1"只需一步。

关于regex - RegexBuddy 中的 "steps"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41447805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com