首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Errors: Bad regexp flag

信息

代码语言:javascript
复制
SyntaxError: invalid regular expression flag "x" (Firefox)
SyntaxError: Invalid regular expression flags (Chrome)

错误类型

SyntaxError

错哪里了?

代码中有无效的正则表达式标志。在正则表达式中,由斜杠之间的模式组成,标志在第二个标志之后定义。它们也可以在RegExp对象的构造函数中定义(第二个参数)。正则表达式标志可以单独使用或以任意顺序一起使用,但ECMAScript中只有五种。

要使用正则表达式包含标志,请使用以下语法:

代码语言:javascript
复制
var re = /pattern/flags;

或者

代码语言:javascript
复制
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

示例

只有五个有效的正则表达式标志。

代码语言:javascript
复制
/foo/bar;

// SyntaxError: invalid regular expression flag "b"

你打算创建一个正则表达式吗?包含两个斜杠的表达式被解释为一个正则表达式文字。

代码语言:javascript
复制
let obj = {
  url: /docs/Web
};

// SyntaxError: invalid regular expression flag "W"

还是你的意思是创建一个字符串?添加单引号或双引号来创建字符串文字。

代码语言:javascript
复制
let obj = {
  url: '/docs/Web'
};

有效的正则表达式标志

有关JavaScript中允许的五个有效正则表达式标志,请参见上面的表格。

代码语言:javascript
复制
/foo/g;
/foo/gim;
/foo/uy;

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com