const target = 'A AA B BB Aa Bb';
// 'A' 또는 'B'를 전역 검색한다.
const regExp = /A|B/g;
target.match(regExp); // ['A', 'A', 'A', 'B', 'B', 'B', 'A', 'B']
const target = 'A AA B BB Aa Bb';
// 'A' 또는 'B'가 한 번 이상 반복되는 문자열을 전역 검색합니다.
// 'A', 'AA', ... 'B', 'BB'
const regExp = /A+|B+/g;
target.match(regExp); // ['A', 'AA', 'B', 'BB', 'A', 'B']
위 예제를 더 간단하게 표현하면 다음과 같습니다.
[]
내의 문자는 or로 동작합니다.const target = 'A AA B BB Aa Bb';
// 'A' 또는 'B'가 한 번 이상 반복되는 문자열을 전역 검색합니다.
// 'A', 'AA', ... 'B', 'BB'
const regExp = /[AB]+/g;
target.match(regExp); // ['A', 'AA', 'B', 'BB', 'A', 'B']
[]
내에 -를 사용합니다. 다음의 경우는 대문자 알파벳을 검색합니다.const target = 'A CC B BB Aa Bb ZZ D';
// 'A' ~ 'Z'가 한 번 이상 반복되는 문자열을 전역 검색합니다.
// 'A', 'AA', ... 'B', 'BB', ... 'Z', 'ZZ', ...
const regExp = /[A-Z]+/g;
target.match(regExp); // ['A', 'CC', 'B', 'BB', 'A', 'B', 'ZZ', 'D']
const target = 'A CC B 12 Aa Bb ZZ D 0';
// 'A' ~ 'Z'가 한 번 이상 반복되는 문자열을 전역 검색합니다.
// 'A', 'AA', ... 'B', 'BB', ... 'Z', 'ZZ', ...
const regExp = /[A-Za-z]+/g;
target.match(regExp); // ['A', 'CC', 'B', 'Aa', 'Bb', 'ZZ', 'D']
const target = 'A CC B 12 Aa 123 D 0 1.23';
// '0' ~ '9'가 한 번 이상 반복되는 문자열을 전역 검색합니다.
const regExp = /[0-9]+/g;
target.match(regExp); // ['12', '123', '0', '1', '23']
const target = 'A CC B 12 Aa 123 D 0 1.23';
// '0' ~ '9'가 한 번 이상 반복되는 문자열을 전역 검색합니다.
const regExp = /[0-9.]+/g;
target.match(regExp); // ['12', '123', '0', '1.23']
위의 예제들을 간단히 표현하는 방법은 다음과 같습니다.
const target = 'A CC B 12 Aa 123 D 0 1.23';
// '0' ~ '9'가 한 번 이상 반복되는 문자열을 전역 검색합니다.
const regExp = /[\d.]+/g;
target.match(regExp); // ['12', '123', '0', '1.23']
const regExp = /[\D]+/g;
target.match(regExp); // ['A CC B ', ' Aa ', ' D ', ' ', '.']
[A-Za-z0-9_]
와 같습니다. \W와 \w는 반대로 동작합니다. 즉, \W는 알파벳, 숫자, 언더스코어가 아닌 문자를 의미합니다.const target = 'Aa Bb 12.345 _$%';
// 알파벳, 숫자, 언더스코어, '.'가 한 번 이상 반복되는 문자열을 전역 검색한다.
const regExp = /[\w.]+/g;
target.match(regExp) // ['Aa', 'Bb', '12.345', '_']
const regExp = /[\W.]+/g;
target.match(regExp) // [' ', ' ', '.', ' ', '$%']
[...] 내의 ^은 not의 의미를 갖습니다.
const target = 'Aa BB 11 CA 0'
// 숫자를 제외한 문자열을 전역 검색한다.
const regExp = /[^0-9]+/g;
target.match(regExp); // ['Aa BB ', ' CA ']
[0-9] === /d
[^0-9] === /D
[A-Za-z0-9_] === /w
[^A-Za-z0-9_] === /W
[...] 밖의 ^은 문자열의 시작을 의미합니다.
단, [...] 내의 ^은 not의 의미를 가집니다.
const target = 'https://deepdive.com';
// 'https'로 시작하는지 검사한다.
const regExp = /^https/;
regExp.test(target); // true
$은 문자열의 마지막을 의미합니다.
const target = 'https://deepdive.com';
// 'com'로 끝나는지 검사한다.
const regExp = /com$/;
regExp.test(target); // true