source

불필요한 이스케이프 문자 비활성화: \/ no-use-escape

lovecheck 2023. 2. 13. 20:44
반응형

불필요한 이스케이프 문자 비활성화: \/ no-use-escape

링크나 url이 포함되어 있는지 확인할 수 있는 정규식을 가지고 있습니다.(i.e. https://eslint.org/docs/rules/no-useless-escape). 이 정규식을 사용합니다./(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig테스트 케이스를 실행하는 동안 에러가 발생했습니다.Unnecessary escape character: \/ no-useless-escape이 eslint-error를 비활성화하여 테스트 케이스를 진행하여 regex를 사용하는 방법

협조해 주셔서 감사합니다!

ESLint를 사용하여 다음 중 하나를 추가할 수 있습니다.

  1. //eslint-disable-line를 클릭하여 경고를 비활성화합니다.
  2. //eslint-disable-next-line경고를 비활성화하려면 앞에 줄을 긋습니다.

ESLint, 인라인 코멘트에 의한 규칙 비활성화」의 문서를 참조해 주세요.

특정 행의 모든 규칙을 디세블로 하려면 다음 중 하나의 형식으로 행 또는 블록주석을 사용합니다.

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

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

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

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

다음을 추가하여 파일 전체의 경고를 비활성화할 수 있습니다./* eslint-disable */파일 맨 위에 있습니다.

파일 전체에서 규칙 경고를 비활성화하려면/* eslint-disable */파일 맨 위에 있는 block clock comment:

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

바로 그\/[-A-Z0-9+&@#\/%?=~_|!:,.;]그리고.[-A-Z0-9+&@#\/%=~_|](에 포함되어 있는 것은 아닙니다.:\/\/대부분의 문자는 문자 클래스(대괄호) 내에서 이스케이프할 필요가 없습니다.이는 동등해야 합니다./(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|])/ig상세한 것에 대하여는, https://www.regular-expressions.info/charclass.html 를 참조해 주세요.단, 관련 부품은 다음과 같습니다.

대부분의 regex 플레이버에서 문자 클래스 내의 특수 문자 또는 메타 문자는 닫힘 괄호], 백슬래시, 캐럿 ^ 및 하이픈뿐입니다.일반적인 메타문자는 문자 클래스 내의 일반 문자이므로 백슬래시를 사용하여 이스케이프할 필요가 없습니다.별 또는 플러스 기호를 검색하려면 [+*]를 사용합니다.문자 클래스 내에서 일반 메타 문자를 이스케이프하면 정규 정규 문자는 정상적으로 동작하지만, 그렇게 하면 가독성이 현저하게 저하됩니다.

를 사용할 수도 있습니다.

/* eslint-disable no-useless-escape */

스크립트 파일 전체의 규칙을 비활성화합니다.

//eslint-disable-next-line

이것을 코드의 행 위에 두다.

또는

/*eslint no-undef: 0*/

파일의 첫 번째 줄(또는 스크립트 태그의 첫 줄)에 배치하면 파일 전체에서 eslint가 비활성화됩니다.

\내 코드에서 아래 코드부터 오류가 발생합니다.NodeJS typescript프로젝트, 코드 편집기는 VS 코드 -

코드 -

if (!(/^[\-0-9a-zA-Z\.\+_]+@[\-0-9a-zA-Z\.\+_]+\.[a-zA-Z]{2,}$/).test(String(req.body.email))) { ... }

오류 -

Unnecessary escape character: \+. (eslintno-useless-escape)

솔루션 -

//eslint-disable-next-line

최종 코드 -

//eslint-disable-next-line
if (!(/^[\-0-9a-zA-Z\.\+_]+@[\-0-9a-zA-Z\.\+_]+\.[a-zA-Z]{2,}$/).test(String(req.body.email))) { ... }

그냥 이걸 없애면 돼요.

\

내 레그스와 여기 전에 어떻게 생겼는지

/^\w+\-/g;

끝나고

/^\w+-/g;

이메일 주소의 유효성을 확인하기 위한 다음과 같은 코드 스니펫이 있습니다.

/[a-zA-Z0-9\.]*@[a-z]*[\.a-z]*/.test(value)

각 괄호('[]') 안쪽에 '\.'이(가) 있기 때문에 린터에 오류가 발생했습니다.대괄호는 '.'를 사용하기 위해 이스케이프 문자('\')가 필요하지 않습니다.아래 그림과 같이 '[]' 안에 있는 '\'를 제거했더니 오류가 해결되었습니다.

/[a-zA-Z0-9.]*@[a-z]*[.a-z]*/.test(value)

나도 비슷한 경고를 받았다.

Unnecessary escape character: \# no-useless-escape

경고에 언급된 모든 것을 제거하기만 하면 됩니다.\#경고에 적혀있어서 경고에 나와있는 줄에서 삭제해버렸습니다.

언급URL : https://stackoverflow.com/questions/47277133/disable-unnecessary-escape-character-no-useless-escape

반응형