@putout/plugin-regexp
🐊Putout plugin helps with regexp
Last updated 2 years ago by coderaiser .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ npm install @putout/plugin-regexp 
SYNC missed versions from official npm registry.

@putout/plugin-regexp NPM version

Regular expressions are patterns used to match character combinations in strings.

(c) MDN

🐊Putout plugin helps with Regular Expressions.

Install

npm i @putout/plugin-regexp -D

Rules

Config

{
    "rules": {
        "regexp/apply-literal-notation": "on",
        "regexp/apply-starts-with": "on",
        "regexp/apply-ends-with": "on",
        "regexp/optimize": "on",
        "regexp/convert-to-string": "on",
        "regexp/convert-replace-to-replace-all": "on",
        "regexp/remove-useless-group": "on",
        "regexp/remove-useless-regexp": "on"
    }
}

optimize

❌ Example of incorrect code

const a = /(ab|ab)/;

βœ… Example of correct code

const a = /(ab)/;

apply-literal-notation

❌ Example of incorrect code

const a = new RegExp('hello', 'i');

βœ… Example of correct code

const a = /hello/i;

apply-starts-with

The startsWith() method determines whether a string begins with the characters of a specified string, returning true or false as appropriate.

(c) MDN

RegExp is overkill for such a simple task as determining that string located at the beginning. Check it out in 🐊 Putout Editor.

❌ Example of incorrect code

/^hello/.test(a);

βœ… Example of correct code

a.startsWith('hello');

Comparison

Linter Rule Fix
🐊 Putout regexp/apply-starts-with βœ…
πŸ¦• TypeScript ESLint prefer-string-starts-ends-with βœ…

apply-ends-with

The startsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.

(c) MDN

RegExp is overkill for such a simple task as determining that string located at the end.

❌ Example of incorrect code

/hello$/.test(a);

βœ… Example of correct code

a.endsWith('hello');

Comparison

Linter Rule Fix
🐊 Putout regexp/apply-ends-with βœ…
πŸ¦• TypeScript ESLint prefer-string-starts-ends-with βœ…

convert-to-string

❌ Example of incorrect code

'hello'.replace(/hello/, 'world');

βœ… Example of correct code

'hello'.replace('hello', 'world');

convert-replace-to-replace-all

Simplify code according to string-replace-all.

❌ Example of incorrect code

'hello'.replace(/hello/g, 'world');

βœ… Example of correct code

'hello'.replaceAll('hello', 'world');

remove-useless-group

❌ Example of incorrect code

/(hello)/.test(str);

βœ… Example of correct code

/hello/.test(str);

remove-useless-regexp

❌ Example of incorrect code

const a = /^\.hello$/.test(str);

βœ… Example of correct code

const a = str === '.hello';

License

MIT

Current Tags

  • 9.0.0                                ...           latest (5 months ago)

39 Versions

  • 9.0.0                                ...           5 months ago
  • 8.0.0                                ...           a year ago
  • 7.0.0                                ...           a year ago
  • 6.3.0                                ...           2 years ago
  • 6.2.0                                ...           2 years ago
  • 6.1.0                                ...           2 years ago
  • 6.0.0                                ...           2 years ago
  • 5.5.1                                ...           2 years ago
  • 5.5.0                                ...           3 years ago
  • 5.4.3                                ...           3 years ago
  • 5.4.2                                ...           3 years ago
  • 5.4.1                                ...           3 years ago
  • 5.4.0                                ...           3 years ago
  • 5.3.0                                ...           3 years ago
  • 5.2.0                                ...           3 years ago
  • 5.1.0                                ...           3 years ago
  • 5.0.0                                ...           3 years ago
  • 4.1.0                                ...           3 years ago
  • 4.0.0                                ...           3 years ago
  • 3.0.0                                ...           3 years ago
  • 2.8.0                                ...           3 years ago
  • 2.7.0                                ...           3 years ago
  • 2.6.0                                ...           3 years ago
  • 2.5.1                                ...           3 years ago
  • 2.5.0                                ...           3 years ago
  • 2.4.0                                ...           3 years ago
  • 2.3.4                                ...           3 years ago
  • 2.3.3                                ...           3 years ago
  • 2.3.2                                ...           4 years ago
  • 2.3.1                                ...           4 years ago
  • 2.3.0                                ...           4 years ago
  • 2.2.0                                ...           4 years ago
  • 2.1.0                                ...           4 years ago
  • 2.0.0                                ...           4 years ago
  • 1.3.1                                ...           4 years ago
  • 1.3.0                                ...           4 years ago
  • 1.2.0                                ...           4 years ago
  • 1.1.0                                ...           4 years ago
  • 1.0.0                                ...           4 years ago
Maintainers (1)
Downloads
Total 0
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (2)
Dev Dependencies (9)
Dependents (2)

© 2010 - cnpmjs.org x YWFE | Home | YWFE