[英]JavaScript Regex causes error: Invalid Regular expression: invalid group specifier name (Just on Phone Browser)
[英]Adding a (?i) in the regex causes an error in javascript “invalid regex group”
我有一个正则表达式
/^(?!.*qwerty)[0-9a-zA-Z]*$/
但是每次我在问号前添加(?i)都会在javascript“ invalid regex group”中导致错误
有人可以告诉我为什么吗?
在仅用于修饰符的地方添加i
怎么了? JS不允许将修饰符放置在正则表达式中。
/^(?!.*qwerty)[0-9A-Z]*$/i
请参阅Regex修饰符-在rexegg.com上将其打开 :
内联修饰符
(?i)
在.NET,PCRE(C,PHP,R…),Perl,Python,Java和Ruby( 但不包括 JavaScript )中,可以使用内联修饰符(?i)
,例如在(?i)cat
。
您可以使用同时匹配大写和小写变体的字符类:
^(?!.*[Qq][Ww][Ee][Rr][Tt][Yy])[0-9a-zA-Z]*$
如果您负担得起第三方XRegExp
库 ,则可以使用内联修饰符 :
模式修饰符使用语法
(?imnsuxA)
,其中imnsuxA
是XRegExp
标志的任意组合,但g
或y
除外。 模式修饰符提供了启用指定标志的另一种方法。
这是一个演示:
var regex = XRegExp('(?i)^(?!.*qwerty)[0-9a-zA-Z]*$'); document.body.innerHTML = regex.test("Text QwErty");
<script src="https://cdnjs.cloudflare.com/ajax/libs/xregexp/2.0.0/xregexp-all-min.js"></script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.