JavaScript参考手册
错误 | Errors
Errors: Bad regexp flag
信息
SyntaxError: invalid regular expression flag "x" (Firefox)
SyntaxError: Invalid regular expression flags (Chrome)
错误类型
SyntaxError
错哪里了?
代码中有无效的正则表达式标志。在正则表达式中,由斜杠之间的模式组成,标志在第二个标志之后定义。它们也可以在RegExp
对象的构造函数中定义(第二个参数)。正则表达式标志可以单独使用或以任意顺序一起使用,但ECMAScript中只有五种。
要使用正则表达式包含标志,请使用以下语法:
var re = /pattern/flags;
或者
var re = new RegExp('pattern', 'flags');
Flag |
Description |
---|---|
g |
Global search. |
i |
Case-insensitive search. |
m |
Multi-line search. |
u |
Unicode; treat pattern as a sequence of Unicode code points |
y |
Perform a "sticky" search that matches starting at the current position in the target string. See sticky |
示例
只有五个有效的正则表达式标志。
/foo/bar;
// SyntaxError: invalid regular expression flag "b"
你打算创建一个正则表达式吗?包含两个斜杠的表达式被解释为一个正则表达式文字。
let obj = {
url: /docs/Web
};
// SyntaxError: invalid regular expression flag "W"
还是你的意思是创建一个字符串?添加单引号或双引号来创建字符串文字。
let obj = {
url: '/docs/Web'
};
有效的正则表达式标志
有关JavaScript中允许的五个有效正则表达式标志,请参见上面的表格。
/foo/g;
/foo/gim;
/foo/uy;
错误 | Errors相关
JavaScript 是一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的解释型语言。它已经由ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器( Chrome、IE、FireFox、Safari、Opera )支持。JavaScript 是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持 I/O,比如网络