gpt4 book ai didi

javascript - 正则表达式在正则表达式测试器中有效,但在模式中无效

转载 作者:行者123 更新时间:2023-11-28 18:51:55 26 4
gpt4 key购买 nike

这是一个非常简单但在我看来很奇怪的问题,我基本上有这个正则表达式并输入了一些测试并且它们起作用了。

(?=^\*)|(?=^.{1,254}$)(^(?:(?!\d+\.)[a-zA-Z0-9_\-\{\}]{1,63}\.?)+(?:[a-zA-Z\{\}]{1,})$)

https://regex101.com/r/hU6tP0/2

但是当我尝试在 html 中使用它时,它失败了。但如果我用 javascript 测试它,它就可以工作。

http://jsfiddle.net/ek6kby2q/9/

我对正则表达式没有太多了解,所以也许有人知道出了什么问题,或者有任何建议可以让正则表达式变得更好,我们欢迎。

最佳答案

作为一个 html 属性,模式必须匹配从头到尾的所有字符串,这就是为什么 (?=^\*) 无法做到这一点,因为它匹配零个字符。

改用此模式:

\*.*|(?!.{255})(?:[A-Za-z_{}-][\w{}-]{0,62}\.?)+[A-Za-z{}]+

(您可以省略 anchor ,因为它们是隐式的)

关于javascript - 正则表达式在正则表达式测试器中有效,但在模式中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34352893/

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