Disable Unnecessary escape character: \/ no-useles

2020-06-01 01:20发布

I have this regex of mine that will check the string if it contains link or url (i.e. https://eslint.org/docs/rules/no-useless-escape). Using this regex /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig, I've encountered and error while running my test cases in react about Unnecessary escape character: \/ no-useless-escape. How to disable this eslint-error in order for me to proceed with my test case and use the regex.

Appreciate for any help!

2条回答
够拽才男人
2楼-- · 2020-06-01 01:45

You can use ESLint and try adding either of the things:-

  1. //eslint-disable-line on the line to disable warnings.
  2. //eslint-disable-next-line to line before to disable warnings.

See from docs of ESLint, Disabling Rules with Inline Comments.

To disable all rules on a specific line, use a line or block comment in one of the following formats:

alert('foo'); // eslint-disable-line

// eslint-disable-next-line
alert('foo');

/* eslint-disable-next-line */
alert('foo');

alert('foo'); /* eslint-disable-line */

You can disable warnings in entire file by adding /* eslint-disable */ at the top of the file.

To disable rule warnings in an entire file, put a /* eslint-disable */ block comment at the top of the file:

/* eslint-disable */
   alert('foo');
查看更多
看我几分像从前
3楼-- · 2020-06-01 01:52

It's the \/ in [-A-Z0-9+&@#\/%?=~_|!:,.;] and [-A-Z0-9+&@#\/%=~_|] (NOT the ones in :\/\/). Most characters do not have to be escaped within a character class (square brackets). This should be equivalent: /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|])/ig So See https://www.regular-expressions.info/charclass.html for more info, but the relevant part:

In most regex flavors, the only special characters or metacharacters inside a character class are the closing bracket ], the backslash \, the caret ^, and the hyphen -. The usual metacharacters are normal characters inside a character class, and do not need to be escaped by a backslash. To search for a star or plus, use [+*]. Your regex will work fine if you escape the regular metacharacters inside a character class, but doing so significantly reduces readability.

查看更多
登录 后发表回答