정규식 패턴 | 설명 |
---|---|
^ | 줄(Line)의 시작에서 일치 /^abc/ |
$ | 줄(Line)의 끝에서 일치 /xyz$/ |
. | (특수기호, 띄어쓰기를 포함한) 임의의 한 문자 |
a⎮b | a or b 와 일치, 인덱스가 작은 것을 우선 반환 |
* | 0회 이상 연속으로 반복되는 문자와 가능한 많이 일치. {0,} 와 동일 |
*? | 0회 이상 연속으로 반복되는 문자와 가능한 적게 일치. {0} 와 동일 |
+ | 1회 이상 연속으로 반복되는 문자와 가능한 많이 일치. {1,} 와 동일 |
+? | 1회 이상 연속으로 반복되는 문자와 가능한 적게 일치. {1} 와 동일 |
{3} | 숫자 3개 연속 일치 |
{3,} | 3개 이상 연속 일치 |
{3, 5} | 3개 이상 5개 이하 연속 일치 |
() | 캡쳐(capture)할 그룹 |
[a-z] | a부터 z 사이의 문자 구간에 일치(영어 소문자) |
[A-Z] | A부터 Z 사이의 문자 구간에 일치(영어 대문자) |
[0-9] | 0부터 9 사이의 문자 구간에 일치(숫자) |
(역슬래쉬) | escape 문자. 특수 기호 앞에 \를 붙이면 정규식 패턴이 아닌, 기호 자체로 인식 |
\d | 숫자를 검색함. /[0-9]/와 동일 |
\D | 숫자가 아닌 문자를 검색함. /[^0-9]/와 동일 |
\w | 영어대소문자, 숫자, (underscore)를 검색함. /[A-Za-z0-9]/ 와 동일 |
\W | 영어대소문자, 숫자, (underscore)가 아닌 문자를 검색함. /[^A-Za-z0-9]/ 와 동일 |
[^] | []안의 문자열 앞에 ^이 쓰이면, []안에 없는 문자를 검색함 |
📌 리터럴 패턴
let pattern = /c/;
📌 생성자 함수 호출 패턴
let pattern = new RegExp('c');
해당 문자열을 포함하고 있다면 배열로 반환
없다면 null 반환
let pattern = /c/; // 찾고자 하는 문자열
console.log(pattern.exec('abcde'))
// [ 'c', index: 2, input: 'abcde', groups: undefined ]
let pattern = /c/;
console.log(pattern.test('abcde'));
// true
let pattern = /c/;
let str = 'abcde';
console.log(str.match(pattern));
// [ 'c', index: 2, input: 'abcde', groups: undefined ]
let pattern = /cd/;
let str = 'abcde';
console.log(str.replace(pattern, 'C'));
// abCe
"123,456,789".split(",") // ["123", "456", "789"]
"12304560789".split("0") // ["123", "456", "789"]
"JavaScript".search(/script/); // -1 대소문자를 구분합니다
"JavaScript".search(/Script/); // 4
"abcdefg".search(/c/); // 2
const flagI = "ABCDE".match(/c/i);
console.log(flagI)
// [ 'C', index: 2, input: 'ABCDE', groups: undefined ]
const answer = "ABCDE".match(/c/);
console.log(answer)
// null
let flagG = "abcdeabcde".match(/c/g); // ['c', 'c']
console.log(flagG)
// [ 'c', 'c' ]
let answer = "abcdeabcde".match(/c/);
console.log(answer)
// [ 'c', index: 2, input: 'abcdeabcde', groups: undefined ]
let str = `1st : abcde
2nd : abcde
3rd : abcde`;
let flagG = str.match(/c/gm)
console.log(flagG)
// [ 'c', 'c', 'c' ]
let answer = str.match(/c/m)
console.log(answer)
//[ 'c' ]