[JavaScript] 모던 자바스크립트 Deep Dive 31장 - RegExp
2022. 8. 22. 23:33ㆍWeb/JavaScript

정규 표현식이란?
정규 표현식은 일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어다.
정규표현식을 사용하면 반복문과 조건문 없이 패턴을 정의하고 테스트하는 것으로 간단히 체크할 수 있다.
정규 표현식의 생성
정규 표현식 객체를 생성하기 위해서는 정규 표현식 리터럴과 RegExp 생성자 함수를 사용할 수 있다.
const target = 'Is this all there is?';
// 패턴: is
// 플래그: i => 대소문자를 구별하지 않고 검색한다.
const regexp = /is/i;
// test 메서드는 target 문자열에 대해 정규 표현식 regexp의 패턴을 검색하여 매칭 결과를
// 불리언 값으로 반환한다.
regexp.test(target); // true
RegExp 생성자 함수를 사용하여 RegExp 객체를 생성할 수도 있다.
new RegExp(pattern[, flags])
RegExp 메서드
RegExp.prototype.exec
exec 메서드는 인수로 전달받은 문자열에 대해 정규 표현식의 패턴을 검색하여 매칭 결과를 배열로 반환한다. 매칭 결과가 없는 null을 반환한다.
const target = 'Is this all there is?';
const regExp = /is/;
regExp.exec(target); // ['is', index: 5, input: 'Is this all there is?', groups: undefined]
RegExp.prototype.test
test 메서드는 인수로 전달받은 문자열에 대해 정규 표현식의 패턴을 검색하여 매칭 결과를 불리언 값으로 반환한다.
const target = 'Is this all there is?';
const regExp = /is/;
regExp.test(target); // true
String.prototype.match
String 표준 빌트인 객체가 제공하는 match 메서드는 대상 문자열과 인수로 전달받은 정규 표현식과의 매칭결과를 반환한다.
const target = 'Is this all there is?';
const regExp = /is/;
target.match(regExp); // ['is', index: 5, input: 'Is this all there is?', groups: undefined]
플래그
| 플래그 | 의미 | 설명 |
| i | ignore case | 대소문자를 구별하지 않고 패턴을 검색한다. |
| g | Global | 대상 문자열 내에서 패턴과 일치하는 모든 문자열을 전역 검색한다. |
| m | multi line | 문자열의 행이 바뀌더라도 패턴 검색을 계속한다. |
패턴
문자열 검색
임의의 문자열 검색
반복 검색
OR 검색
'Web > JavaScript' 카테고리의 다른 글
| [JavaScript] 모던 자바스크립트 Deep Dive 33장 - Symbol (0) | 2023.02.03 |
|---|---|
| [JavaScript] 모던 자바스크립트 Deep Dive 32장 - String (0) | 2023.02.03 |
| [JavaScript] 모던 자바스크립트 Deep Dive 30장 - Date (0) | 2022.08.22 |
| [JavaScript] 모던 자바스크립트 Deep Dive 29장 - Math (0) | 2022.08.19 |
| [JavaScript] 모던 자바스크립트 Deep Dive 28장 - Number (0) | 2022.08.19 |