在正则表达式中添加 (?i) 会导致 javascript 中出现错误“无效的正则表达式组”
Adding a (?i) in the regex causes an error in javascript "invalid regex group"
我有一个正则表达式
/^(?!.*qwerty)[0-9a-zA-Z]*$/
但是每次我在 querty 前面添加一个 (?i( 时,它都会在 JavaScript 中导致错误"无效的正则表达式组">
有人可以告诉我为什么吗?
在仅为修饰符构建的地方添加i
有什么问题。JS不允许将修饰符放置在正则表达式中。
/^(?!.*qwerty)[0-9A-Z]*$/i
请参阅正则表达式修饰符 - 在 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
是除g
或y
之外的XRegExp
标志的任意组合。模式修饰符提供了一种启用指定标志的替代方法。
这是一个演示:
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>
相关文章:
- 正则表达式给出错误的输出
- 正则表达式中的错误
- javascript使用正则表达式得到错误的结果
- 在正则表达式中添加 (?i) 会导致 javascript 中出现错误“无效的正则表达式组”
- Javascript错误正则表达式不是函数
- Javascript 正则表达式不会在应该给出错误消息时给出错误消息
- 即使验证正则表达式错误,也提交表单
- Nodejs 正则表达式错误:“无效的正则表达式:没有什么可重复的”
- 正则表达式错误
- 正则表达式错误javascript
- 测试邮政编码时出现Javascript正则表达式错误
- javascript正则表达式错误
- Netbeans中的正则表达式错误在其他编辑器中不存在
- Visual studio 12和正则表达式错误
- Javascript正则表达式错误,两个字符之间的文本
- jquery中的正则表达式错误
- 需要帮助修复JavaScript正则表达式错误
- javascript中的正则表达式错误
- 如何在符号(和)上编写正则表达式错误
- 启动日期选择器changeDate正则表达式错误