Eslint参考手册
规则 | Rules
no-invalid-regexp
"extends": "eslint:recommended"
配置文件中的属性启用此规则。
在解析代码时,正则表达式文本中的无效模式是SyntaxError,但RegExp构造函数中的无效字符串仅在代码执行时抛出SyntaxError。
规则细节
此规则不允许RegExp
构造函数中的无效正则表达式字符串。
此规则的错误代码示例:
/*eslint no-invalid-regexp: "error"*/
RegExp('[')
RegExp('.', 'z')
new RegExp('\\')
此规则的正确代码示例:
/*eslint no-invalid-regexp: "error"*/
RegExp('.')
new RegExp
this.RegExp('[')
环境
ECMAScript 6将以下标志参数添加到RegExp
构造函数中:
-
"u"
(unicode) -
"y"
(sticky)
您可以通过在您的ESLint配置中将ECMAScript版本设置为6来将这些设置识别为有效。
如果您想出于任何原因允许其他构造函数标志,您可以使用.eslintrc中的allowConstructorFlags选项指定它们。 无论ecmaVersion设置如何,这些标志都将被规则忽略。
选项
该规则有一个例外的对象选项:
-
"allowConstructorFlags"
是一组标志
allowConstructorFlags
此规则的正确代码示例包含以下{ "allowConstructorFlags": ["u", "y"] }
选项:
/*eslint no-invalid-regexp: ["error", { "allowConstructorFlags": ["u", "y"] }]*/
new RegExp('.', 'y')
new RegExp('.', 'yu')
扩展内容
- 注释的ES5§7.8.5 - 正则表达式文字
版本
该规则在ESLint 0.1.4中引入。
资源
- 规则来源
- 文档来源
规则 | Rules相关

ESLint 是一个代码规范和错误检查工具,有以下几个特性。所有东西都是可以插拔的。你可以调用任意的 rule api 或者 formatter api 去打包或者定义 rule or formatter。任意的 rule 都是独立的。没有特定的 coding style,你可以自己配置。
主页 | https://eslint.org/ |
源码 | https://github.com/eslint/eslint |
发布版本 | 4.12.0 |