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。如果您在启用类型检查的规则后遇到性能下降,请参阅性能故障排除。