Package Exports
- eslint-plugin-regexp
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (eslint-plugin-regexp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Introduction
eslint-plugin-regexp is ESLint plugin for finding RegExp mistakes and RegExp style guide violations.
📛 Features
This ESLint plugin provides linting rules relate to better ways to help you avoid problems when using RegExp.
- Find the wrong usage of regular expressions, and their hints.
- Enforces a consistent style of regular expressions.
- Find hints for writing optimized regular expressions.
You can check on the Online DEMO.
📖 Documentation
See documents.
💿 Installation
npm install --save-dev eslint eslint-plugin-regexp
Requirements
- ESLint v6.0.0 and above
- Node.js v8.10.0 and above
📖 Usage
Create .eslintrc.*
file to configure rules. See also: http://eslint.org/docs/user-guide/configuring.
Example .eslintrc.js:
module.exports = {
extends: [
// add more generic rulesets here, such as:
// 'eslint:recommended',
'plugin:regexp/recommended'
],
rules: {
// override/add rules settings here, such as:
// 'regexp/rule-name': 'error'
}
}
Configuration
This plugin provides one config:
plugin:regexp/recommended
... This is the recommended configuration for this plugin.
See lib/configs/recommended.ts for details.
✅ Rules
The --fix
option on the command line automatically fixes problems reported by rules which have a wrench 🔧 below.
The rules with the following star ⭐ are included in the plugin:regexp/recommended
config.
Rule ID | Description | |
---|---|---|
regexp/letter-case | enforce into your favorite case | 🔧 |
regexp/match-any | enforce match any character style | ⭐🔧 |
regexp/negation | enforce use of escapes on negation | 🔧 |
regexp/no-assertion-capturing-group | disallow capturing group that captures assertions. | ⭐ |
regexp/no-dupe-characters-character-class | disallow duplicate characters in the RegExp character class | ⭐ |
regexp/no-dupe-disjunctions | disallow duplicate disjunctions | |
regexp/no-empty-group | disallow empty group | ⭐ |
regexp/no-empty-lookarounds-assertion | disallow empty lookahead assertion or empty lookbehind assertion | ⭐ |
regexp/no-escape-backspace | disallow escape backspace ([\b] ) |
⭐ |
regexp/no-invisible-character | disallow invisible raw character | ⭐🔧 |
regexp/no-legacy-features | disallow legacy RegExp features | |
regexp/no-octal | disallow octal escape sequence | ⭐ |
regexp/no-unused-capturing-group | disallow unused capturing group | |
regexp/no-useless-backreference | disallow useless backreferences in regular expressions | |
regexp/no-useless-character-class | disallow character class with one character | 🔧 |
regexp/no-useless-dollar-replacements | disallow useless $ replacements in replacement string |
|
regexp/no-useless-escape | disallow unnecessary escape characters in RegExp | |
regexp/no-useless-exactly-quantifier | disallow unnecessary exactly quantifier | ⭐ |
regexp/no-useless-non-capturing-group | disallow unnecessary Non-capturing group | 🔧 |
regexp/no-useless-non-greedy | disallow unnecessary quantifier non-greedy (? ) |
🔧 |
regexp/no-useless-range | disallow unnecessary range of characters by using a hyphen | 🔧 |
regexp/no-useless-two-nums-quantifier | disallow unnecessary {n,m} quantifier |
⭐ |
regexp/order-in-character-class | enforces elements order in character class | 🔧 |
regexp/prefer-character-class | enforce using character class | 🔧 |
regexp/prefer-d | enforce using \d |
⭐🔧 |
regexp/prefer-escape-replacement-dollar-char | enforces escape of replacement $ character ($$ ). |
|
regexp/prefer-plus-quantifier | enforce using + quantifier |
⭐🔧 |
regexp/prefer-quantifier | enforce using quantifier | 🔧 |
regexp/prefer-question-quantifier | enforce using ? quantifier |
⭐🔧 |
regexp/prefer-range | enforce using character class range | 🔧 |
regexp/prefer-regexp-exec | enforce that RegExp#exec is used instead of String#match if no global flag is provided |
|
regexp/prefer-regexp-test | enforce that RegExp#test is used instead of String#match and RegExp#exec |
🔧 |
regexp/prefer-star-quantifier | enforce using * quantifier |
⭐🔧 |
regexp/prefer-t | enforce using \t |
⭐🔧 |
regexp/prefer-unicode-codepoint-escapes | enforce use of unicode codepoint escapes | 🔧 |
regexp/prefer-w | enforce using \w |
⭐🔧 |
🍻 Contributing
Welcome contributing!
Please use GitHub's Issues/PRs.
Development Tools
npm test
runs tests and measures coverage.npm run update
runs in order to update readme and recommended configuration.
🔒 License
See the LICENSE file for license rights and limitations (MIT).