eslint/no-control-regex 정확성
작동 방식
정규 표현식에서 제어 문자 및 일부 제어 문자와 일치하는 이스케이프 시퀀스를 허용하지 않습니다.
왜 문제인가요?
제어 문자는 아스키 범위 0-31의 특수하고 보이지 않는 문자입니다. 이러한 문자는 자바스크립트 문자열에서 거의 사용되지 않기 때문에, 이러한 문자를 명시적으로 일치시키는 요소를 포함한 정규 표현식은 대부분 오류일 가능성이 큽니다.
예시
이 규칙에 적합하지 않은 코드 예시:
javascript
var pattern1 = /\x00/;
var pattern2 = /\x0C/;
var pattern3 = /\x1F/;
var pattern4 = /\u000C/;
var pattern5 = /\u{C}/u;
var pattern6 = new RegExp("\x0C"); // 패턴 내에서 원시적인 U+000C 문자
var pattern7 = new RegExp("\\x0C"); // \x0C 패턴이 규칙에 적합한 코드 예시:
javascript
var pattern1 = /\x20/;
var pattern2 = /\u0020/;
var pattern3 = /\u{20}/u;
var pattern4 = /\t/;
var pattern5 = /\n/;
var pattern6 = new RegExp("\x20");
var pattern7 = new RegExp("\\t");
var pattern8 = new RegExp("\\n");사용 방법
설정 파일이나 명령줄 인터페이스를 통해 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:
json
{
"rules": {
"no-control-regex": "error"
}
}bash
oxlint --deny no-control-regex