Flag: g
lobal, case i
nsensitive, m
ultipline, s
ingle line, u
nicode, sticky
보통 g와 m을 같이 사용
같이 사용되는 메서드
const targetStr = 'This is a pen.';
const regexr = /is/ig;
// RegExp 객체의 메서드
console.log(regexr.exec(targetStr)); // [ 'is', index: 2, input: 'This is a pen.' ]
console.log(regexr.test(targetStr)); // true
// String 객체의 메서드
console.log(targetStr.match(regexr)); // [ 'is', 'is' ]
console.log(targetStr.replace(regexr, 'IS')); // ThIS IS a pen.
// String.prototype.search는 검색된 문자열의 첫번째 인덱스를 반환한다.
console.log(targetStr.search(regexr)); // 2 ← index
console.log(targetStr.split(regexr)); // [ 'Th', ' ', ' a pen.' ]
Groups and ranges
Character |
뜻 |
` |
` |
() |
그룹 |
[] |
문자셋, 괄호안의 어떤 문자든 |
[^] |
부정 문자셋, 괄호안의 어떤 문자 아닐때 |
(?:) |
찾지만 기억하지는 않음 |
Quantifiers
Character |
뜻 |
? |
없거나 있거나 (zero or one) |
* |
없거나 있거나 많거나 (zero or more) |
+ |
하나 또는 많이 (one or more) |
{n} |
n번 반복 |
{min,} |
최소 |
{min,max} |
최소, 그리고 최대 |
Boundary-type
Character |
뜻 |
\\b |
단어 경계 |
\\B |
단어 경계가 아님 |
^ |
문장의 시작 |
$ |
문장의 끝 |
Character classes
Character |
뜻 |
\\ |
특수 문자 앞에 붙여주기 |
. |
어떤 글자 (줄바꿈 문자 제외) |
\\d |
digit 숫자 |
\\D |
digit 숫자 아님 |
\\w |
word 문자 |
\\W |
word 문자 아님 |
\\s |
space 공백 |
\\S |
space 공백 아님 |