JavaScript RegExp 참조 가이드
- 이전 페이지 JS Promise
- 다음 페이지 JS Set
RegExp 객체
정규 표현식은 문자 패턴입니다.
이 패턴은 텍스트에 대한 패턴 매칭의 “검색 및 대체” 기능을 사용합니다.
JavaScript에서 RegExp 객체는 속성과 메서드를 가진 패턴입니다.
문법
/pattern/modifier(s);
예제
let pattern = /codew3c/i;
예제 설명:
codew3c | 검색할 패턴 |
/codew3c/ | 정규 표현식 |
/codew3c/i | 대소문자 구분하지 않는 정규 표현식 |
정규 표현식에 대한 지식이 필요하시면, 우리의 JavaScript RegExp 교재.
수식자
수식자는 대소문자를 구분하지 않고 전체 검색을 수행하는 데 사용됩니다:
수식자 | 설명 |
---|---|
g | 전체 매칭을 수행합니다(처음 매칭 후에는 중지하지 않고 모든 매칭을 찾습니다). |
i | 대소문자를 구분하지 않는 매칭을 수행합니다. |
d | 서브스트링 매칭을 수행합니다. |
m | 다중 행 매칭을 수행합니다. |
대괄호
대괄호는 특정 범위의 문자를 찾는 데 사용됩니다:
표현식 | 설명 |
---|---|
[abc] | 대괄호 사이의 모든 문자를 찾습니다. |
[^abc] | 대괄호 사이에 없는 모든 문자를 찾습니다. |
[0-9] | 0에서 9까지의 모든 숫자를 찾습니다. |
[^0-9] | ищет любое значение, не находящееся в скобках (любое ненумерическое значение). |
(x|y) | ищет любое указанное значение. |
метасимволы
метасимволы - это символы, имеющие особое значение:
метасимволы | 설명 |
---|---|
. | ищет одиночный символ, кроме символа перевода строки или символа終端. |
\w | ищет словесный символ. |
\W | ищет неразделенный символ. |
\d | ищет цифру. |
\D | ищет ненумерический символ. |
\s | ищет разделенный символ. |
\S | ищет неразделенный символ. |
\b | в начале/конце слова ищет совпадение, начальным является: \bHI, концом: HI\b. |
\B | 일치하는 항목을 찾지만 단어의 시작/끝에 위치하지 않습니다。 |
\0 | символ NULL |
\n | новая строка |
\f | страница |
\r | возврат каретки |
\t | табуляция |
\v | вертикальная табуляция |
\xxx | 8진수 xxx로 지정된 문자를 찾습니다。 |
\xdd | 16진수 dd로 지정된 문자를 찾습니다。 |
\udddd | 16진수 xxxx로 지정된 유니코드 문자를 찾습니다。 |
량사
량사 | 설명 |
---|---|
n+ | n이 최소 1개 포함된 문자열을 일치합니다。 |
n* | n이 0개나 여러 개 포함된 문자열을 일치합니다。 |
n? | n이 0개나 1개 포함된 문자열을 일치합니다。 |
n{X} | n이 X 개 포함된 시퀀스를 가진 문자열을 일치합니다。 |
n{X,Y} | n이 X에서 Y 개 사이로 포함된 시퀀스를 가진 문자열을 일치합니다。 |
n{X,} | n이 최소 X 개 포함된 시퀀스를 가진 문자열을 일치합니다。 |
n$ | n으로 끝나는 문자열을 일치합니다。 |
^n | n으로 시작하는 문자열을 일치합니다。 |
?=n | n 다음에 n이 연속되는 문자열을 일치합니다。 |
?!n | n 다음에 n이 연속되지 않는 문자열을 일치합니다。 |
RegExp 객체 속성
속성 | 설명 |
---|---|
constructor | RegExp 객체 프로토타입을 생성하는 함수를 반환합니다。 |
global | "g" 장식자가 설정되었는지 확인합니다。 |
ignoreCase | "i" 장식자가 설정되었는지 확인합니다。 |
, | |
multiline | "m" 장식자가 설정되었는지 확인합니다。 |
source | RegExp 패턴의 텍스트를 반환합니다。 |
RegExp 객체 메서드
메서드 | 설명 |
---|---|
compile() | 1.5 버전에서는 더 이상 사용되지 않습니다. 정규 표현식을 컴파일합니다。 |
exec() | 테스트 문자열에서 일치하는 항목을 찾아 나옵니다. 첫 번째 일치하는 항목을 반환합니다。 |
test() | 테스트 문자열에서 일치하는 항목을 찾아 나옵니다. true 또는 false를 반환합니다。 |
toString() | 정규 표현식의 문자열 값을 반환합니다. |
RegExp 객체 설명
RegExp 객체는 정규 표현식을 나타내며, 문자열에 대한 모델 매칭을 수행하는 강력한 도구입니다.
직접 언어 문법
/pattern/attributes
RegExp 객체 생성 문법:
new RegExp(pattern, attributes);
파라미터
파라미터 pattern 문자열이며, 정규 표현식의 패턴이나 다른 정규 표현식을 지정합니다.
파라미터 attributes 옵션적 문자열로, "g"、"i" 및 "m"이라는 속성을 포함하며, 각각 전체 일치, 대소문자 구분 없는 일치 및 다중 행 일치를 지정합니다. ECMAScript 표준화 이전에는 m 속성을 지원하지 않았습니다. 매개변수가 pattern 정규 표현식이 아닌 문자열이면, 이 매개변수를 생략해야 합니다.
반환 값
지정된 패턴과 표시자를 가진 새로운 RegExp 객체입니다. 매개변수가 pattern 정규 표현식이 아닌 문자열이면, RegExp() 구조 함수는 지정된 RegExp와 동일한 패턴과 표시자로 새로운 RegExp 객체를 생성합니다.
new 연산자를 사용하지 않고 RegExp()를 함수 호출하면, 그것은 new 연산자를 사용하여 호출할 때와 같은 행동을 보입니다. 그러나 pattern 정규 표현식이면, 그것은 단지 pattern이를 통해 새로운 RegExp 객체가 생성되지 않습니다.
throw
SyntaxError - pattern 합법적인 정규 표현식이 아니거나 attributes "g"、"i" 및 "m" 외의 문자가 포함되어 있으면 이 예외가 발생합니다.
TypeError - pattern RegExp 객체입니다만, 생략되지 않습니다. attributes 파라미터를 throw하면 이 예외가 발생합니다.
브라우저 지원
/regexp/는 ECMAScript1 (ES1)의 특성입니다.
모든 브라우저가 완전히 ES1 (JavaScript 1997)을 지원합니다:
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Chrome | IE | Edge | Firefox | Safari | Opera |
지원 | 지원 | 지원 | 지원 | 지원 | 지원 |
정규 표현식을 지원하는 String 객체의 메서드
메서드 | 설명 |
---|---|
search | 정규 표현식과 일치하는 값을 검색합니다. |
match | 하나 이상의 정규 표현식과 일치하는 부분을 찾습니다. |
replace | 정규 표현식과 일치하는 부분 문자열을 대체합니다. |
split | 문자열을 문자열 배열로 분할합니다. |
- 이전 페이지 JS Promise
- 다음 페이지 JS Set