regex可以在regex测试程序中工作,但不能在模式中工作

regex works in regex tester but not in pattern

本文关键字:工作 regex 模式 但不能 测试程序      更新时间:2023-09-26

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

(?=^'*)|(?=^.{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{}]+

(可以省略锚点,因为它们是隐式的)