prefer-regexp-exec
如果未提供全局标志,则强制使用
RegExp#exec
而不是String#match
。
🔧
此规则报告的一些问题可以通过--fix
ESLint 命令行选项自动修复。
💭
此规则需要类型信息才能运行。
当正则表达式不包含g
标志时,String#match
被定义为与RegExp#exec
的工作方式相同。始终使用两者之一可以帮助提高代码可读性。
当String#match
调用可以替换为等效的RegExp#exec
时,此规则会报告。
RegExp#exec
也可能比String#match
稍快;这是选择它作为首选用法的理由。
.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/prefer-regexp-exec": "error"
}
};
在游乐场中尝试此规则 ↗
示例
- ❌ 错误
- ✅ 正确
选项
此规则不可配置。
何时不使用它
如果您更喜欢对String#match
的一致使用,无论是否带有g
标志,您都可以关闭此规则。
类型检查的 lint 规则比传统的 lint 规则更强大,但也需要配置类型检查的 lint。如果您在启用类型检查的规则后遇到性能下降,请参阅性能故障排除。