gpt4 book ai didi

javascript - 正则表达式错误 : The Expression took longer than 250ms to execute

转载 作者:行者123 更新时间:2023-11-30 14:17:30 29 4
gpt4 key购买 nike

在执行正则表达式时出现错误

/^"?(\w*\d*\s*-*\/*'*)+"?$/

它可能是重复的,但我找不到确切的解决方案。

这是场景。字符串可以接受:

a: 它可以接受双引号 "" 仅在字符串的开头和结尾,不能在中间。

b:以下是仅允许使用的内容:字母数字、正斜杠 ("/")、连字符 (-)、撇号 (') 和空格。

当我输入此文本时:Hawaii-Newsletter-Wipppp.pdf 向我抛出错误,您可以在此处查看:https://regexr.com/

谁能告诉我我做错了什么。

提前致谢

最佳答案

这里的问题是模式中间量化组内的可选模式,它导致 catastrophic backtracking输入不匹配。

然而,这不是正则表达式的唯一问题,因为它还允许使用不成对的双引号。

修复正则表达式使用

/^("?)[\w\s\/'-]+\1$/

参见 regex demo

详情

  • ^ - 字符串的开始
  • ("?) - 第 1 组:一个可选的 "
  • [\w\s\/'-]+ - 1 个或多个字母、数字、_、空格、/'-(如果不需要 _,请将 \w 替换为 A-Za-z0- 9)
  • \1 - 对 Group 1 的反向引用与捕获到 Group 1 中的值匹配
  • $ - 字符串结尾。

关于javascript - 正则表达式错误 : The Expression took longer than 250ms to execute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53333558/

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