Skip to content
← Back to rules

eslint/no-control-regex 정확성

This rule is turned on by default.

작동 방식

정규 표현식에서 제어 문자 및 일부 제어 문자와 일치하는 이스케이프 시퀀스를 허용하지 않습니다.

왜 문제인가요?

제어 문자는 아스키 범위 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

참고 자료