gpt4 book ai didi

c++ - 如何检查正则表达式是否落入 infty 循环?

转载 作者:搜寻专家 更新时间:2023-10-31 01:20:38 24 4
gpt4 key购买 nike

我正在努力学习并希望在 Qt 中使用正则表达式。

我发现某些模式会导致处理程序陷入循环。例如在文本中搜索 \b\b,永远不会终止。这些表达式的数量是无限的(\b\b\b\b\b\b\b 等等)。我想确定和控制所有无效的表达式。

是否有一种算法可以区分有效和无效的表达式?如果不是,我该如何防止我的程序陷入死循环?

最佳答案

正则表达式不应进入无限循环,但它们可能需要很长时间才能求值。

我建议使用具有超时/步数限制的 API。如果您无权访问此类 API,则在单独的线程或进程中运行代码,如果它没有及时响应,则将其终止。

如果搜索 \b\b 导致无限循环,听起来您正在使用的正则表达式引擎中存在错误。

关于c++ - 如何检查正则表达式是否落入 infty 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4575920/

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