/regexp/i
- regexp : 패턴
- i : 플래그
- / / : 시작, 종료 기호
const target = 'Is this all there is?';
// 정규 표현식 리터럴
const regexp = /is/i;
regexp.text(target); // true
// 생성자 함수
const regexp2 = new RegExp(/is/i);
regexp2.test(target); // true
const target = 'Is this all there is?';
const regExp = /is/;
regExp.exec(target); // ['is', index: 5, input: 'Is this all there is?', groups: undefined]
const target = 'Is this all there is?';
const regexp = /is/;
regexp.text(target); // true
const target = 'Is this all there is?';
const regExp = /is/;
const regExpGlobal = /is/g;
target.match(regExp); // ['is', index: 5, input: 'Is this all there is?', groups: undefined]
target.match(regExpGlobal); // ['is', 'is']
const target = 'Is this all there is?';
// target 문자열에서 is 문자열을 대소문자를 구별하여 한 번만 검색.
target.match(/is/); // ['is', index: 5, input: 'Is this all there is?', groups: undefined]
// target 문자열에서 is 문자열을 대소문자를 구별하지 않고 한번만 검색.
target.match(/is/i); // ['Is', index: 0, input: 'Is this all there is?', groups: undefined]
// target 문자열에서 is 문자열을 대소문자를 구별하여 전역 검색.
target.match(/is/g); // ['is', 'is']
// target 문자열에서 is 문자열을 대소문자를 구별하지 않고 전역에서 검색.
target.match(/is/ig); // ['Is', 'is', 'is']
const target = 'Is this all there is?';
// 'is' 문자열과 매치하는 패턴. 플래그가 생략되었으므로 대소문자를 구별한다.
const regExp = /is/;
regExp.test(target); // true
target.match(regExp); // ['is', index: 5, input: 'Is this all there is?', groups: undefined]
// 'is' 문자열과 매치하는 패턴. 플래그 i를 추가하면 대소문자를 구별하지 않는다.
const regExp = /is/i;
target.match(regExp); // ['Is', index: 0, input: 'Is this all there is?', groups: undefined]
// 'is' 문자열과 매치하는 패턴.
// 플래그 g를 추가하면 대상 문자열 내에서 패턴과 일치하는 모든 문자열을 전역 검색한다.
const regExp = /is/ig;
target.match(regExp); // ['Is', 'is', 'is']
const target = 'Is this all there is?';
// 임의의 3자리 문자열을 대소문자를 구별하여 전역 검색한다.
const regExp = /.../g;
target.match(regExp); // ['Is ', 'thi', 's a', 'll ', 'the', 're ', 'is?']
const target = 'A AA B BB Aa Bb AAA';
// 'A'가 최소 1번, 최대 2번 반복되는 문자열을 전역 검색한다.
const regExp = /A{1,2}/g;
target.match(regExp); // ['A', 'AA', 'A', 'AA', 'A']
// 'A'가 2번 반복되는 문자열을 전역 검색한다.
const regExp = /A{2}/g;
target.match(regExp); // ['AA', 'AA']
// 'A'가 최소 2번 이상 반복되는 문자열를 전역 검색한다
const regExp = /A{2,}/g;
target.match(regExp); // ['AA', 'AAA']
// 'A'가 최소 한 번 이상 반복되는 문자열을 전역 검색한다.
const regExp = /A+/g;
target.match(regExp); // ['A', 'AA', 'A', 'AAA']
const color = 'color colour';
// 'color' 다음 'u'가 최대 한 번 이상 반복되고 'r'이 이어지는 문자열 'color', 'colour'를 전역 검색한다.
const regExp = /colou?r/g;
color.match(regExp); // ['color', 'colour']
const target = 'A AA B BB Aa Bb AAA';
// 'A' 또는 'B'를 전역 검색한4다.
const regExp = /A|B/g;
target.match(regExp); // ['A', 'A', 'A', 'B', 'B', 'B', 'A', 'B', 'A', 'A', 'A']
// 'A' 또는 'B'가 한 번 이상 반복되는 문자열을 전역 검색한다.
const regExp = /A+|B+/g;
target.match(regExp); // ['A', 'AA', 'B', 'BB', 'A', 'B', 'AAA']
// 'A' 또는 'B'가 한 번 이상 반복되는 문자열을 전역 검색한다.
// 위의 코드와 동일함.
const regExp = /[AB]+/g;
target.match(regExp); // ['A', 'AA', 'B', 'BB', 'A', 'B', 'AAA']
// 'A' ~ 'Z'가 한 번 이상 반복되는 문자열을 전역 검색한다.
const regExp = /[A-Z]+/g;
target.match(regExp); // ['A', 'AA', 'B', 'BB', 'A', 'B', 'AAA']
// 'A' ~ 'Z' 또는 'a' ~ 'z'가 한 번 이상 반복되는 문자열을 전역 검색한다.
const target = 'AA BB Aa Bb 12';
const regExp = /[A-Za-z]+/g;
target.match(regExp); // ['AA', 'BB', 'Aa', 'Bb']
// 숫자 '0' ~ '9'가 한 번 이상 반복되는 문자열을 전역 검색한다.
const target = 'AA BB 12,345';
const regExp = /[0-9]+/g;
target.match(regExp); // ['12', '345']
// '0' ~ '9' 또는 ','가 한 번 이상 반복되는 문자열을 전역 검색한다.
const regExp = /[0-9,]+/g;
target.match(regExp); // ['12,345']
// '0' ~ '9' 또는 ','가 한 번 이상 반복되는 문자열을 전역 검색한다.
const regExp = /[\d,]+/g;
target.match(regExp); // ['12,345']
// '0' ~ '9'가 아닌 문자(숫자가 아닌 문자) 또는 ','가 한 번 이상 반복되는 문자열을 전역 검색한다.
const regExp = /[\D,]+/g;
target.match(regExp); // ['AA BB ', ',']
const target = 'Aa Bb 12,345 _$%&';
// 알파벳, 숫자, 언더스코어, ','가 한 번 이상 반복되는 문자열을 전역 검색한다.
const regExp = /[\w,]+/g;
target.match(regExp); // ['Aa', 'Bb', '12,345', '_']
// 알파벳, 숫자, 언더스코어가 아닌 문자 또는 ','가 한 번 이상 반복되는 문자열을 전역 검색한다.
const regExp = /[\W,]+/g;
target.match(regExp); // [' ', ' ', ',', ' ', '$%&']
const target = 'AA BB 12 Aa Bb';
// 숫자를 제외한 문자열을 전역 검색한다.
const regExp = /[^0-9]+/g;
target.match(regExp); // ['AA BB ', ' Aa Bb']
const target = 'https://poiemaweb.com';
// 숫자를 제외한 문자열을 전역 검색한다.
const regExp = /^https/;
regExp.test(target); // true
const target = 'https://poiemaweb.com';
// 숫자를 제외한 문자열을 전역 검색한다.
const regExp = /com$/;
regExp.test(target); // true
const http = 'http://example.com';
const https = 'https://example.com';
/^https?:\/\//.test(http); // true
/^https?:\/\//.test(https); // true
const fileName = 'index.html';
/html$/.test(fileName); // true
const target = '12345';
/^\d+$/.test(target); // true
const target = ' Hi!';
/^[\s]+/.test(target); // true
const id = 'abc123';
/^[A-Za-z0-9]{4,10}$/.test(id); // true
const email = 'ungmo2@gmail.com';
/^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/.test(email); // true
const cellphone = '010-1234-5678';
/^\d{3}-\d{3,4}-\d{4}/.test(cellphone); // true
const target = 'abc#123';
(/[^A-Za-z0-9]/gi).test(target); // true
// 특수문자 선택적 검사
(/[\{\}\[\]\/?.,;:|\)*~`!^/-_+<>@\#$%&\\\=\(\'\"]/gi).test(target); // true
// 특수 문자 제거
target.replace(/[^A-Za-z0-9]/gi, ''); // abc123