Programing/JS

[정규식] 정규표현식 패턴 분석 및 자주 사용하는 메서드

lejh 2020. 10. 19. 12:55

정규식 테스트 사이트 : regexr.com/

 

RegExr: Learn, Build, & Test RegEx

RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).

regexr.com

 

정규 표현식 이란

- 문자열에 나타나는 특정문자 조합과 대응시키기 위해 사용 되는 패턴

- 자바스크립트에서 정규식 표현 또한 객체

 

정규식에서 자주 사용하는 메서드

메서드 명 설명
regexp.exec(string) - 정규표현식과 일치하는 문자열을 찾아서 배열을 리턴
- array, 정규표현식과 일치하는 문자열들을 배열에 담아서 리턴
- 일치하는 값이 없을 경우 null을 리턴
regexp.test(string) - 정규표현식의 패턴과 일치하는 문자열이 있으면 true 없으면 false를 리턴
- 패턴과 일치하는 문자열이 있는지 없는지만 판단
string.match(regexp) - 주어진 정규표현식과 일치하는 문자열을 반환
- 정규표현식 패턴과 일치하는 문자열들을 담고 있는 배열을 리턴
- 문자열이 없을 경우 null을 리턴
string.replace(regexp|substr, newSubStr) - 문자열을 다른 문자열로 치환하여 결과를 리턴
string.search(regexp) - 문자열내에서 특정한 문자열의 위치 값을 알아냄
- indexOf, lastIndexOf는 문자열이 검색 대상, search는 정규표현식을 사용
string.split(separator, limit) - 문자열을 인자로 주어진 문자열일 기준으로 쪼개서 배열로 리턴
- 첫번째 인자를 기준으로 분리된 문자열들을 배열형태로 리턴
- 두번째 인자는 생략이 가능

 

정규 표현식

표현식 설명 상세설명
^ 문자열의 시작
^x : 문자열이 x로 시작
$ 문자열의 끝 x$ : 문자열이 x로 끝
. 임의의 문자 1개에 대응 .x : x문자 1개에 대해 대응
+ 특정 문자를 1번 이상 반복 x+ : x문자가 한번 이상 반복
? 특정 문자가 존재하거나 존재하지 않거나 x? : x가 존재 또는 존재 하지 않음
* 특정 문자가 0번 이상 반복 x* : x 문자가 0번 이상 반복
| 문자 두개중 하나를 찾는다 x|y : x 또는 y를 찾는다
() ()사이에 내용을 캡쳐하며 그룹화 (x|y) : x|y를 캡쳐하며 그룹화
{n} {n} 괄호 앞에 문자가 n 번 반복한 문자를 찾는다 x{2} : x를 2번 반복한 문자를 찾는다
{n,} {n,} 괄호 앞에 문자가 n 번 이상 반복한 문자를 찾는다 x{2,} : x를 2번 이상 반복한 문자를 찾는다
{n,m} {n,m} 문자가 n 번 이상 m번 이하 반복한 문자를 찾는다 x{2,3} : x를 2번 이상 3번 이하 반복한 문자를 찾는다

 

표현식 상세설명
[xy] x,y중 하나를 찾는다. x|y랑 동일
[^xy] x,y를 제외하고 문자 하나를 찾는다
[0-9] 0부터 9까지 사이의 문자중 하나를 찾는다
\^ 특수문자를 문자로 인식
\b 문자와 공백사이의 문자를 찾는다
\B 문자와 공백사이가 아닌 값은 찾는다
\d 숫자를 찾는다
\D 숫자가 아닌 값을 찾는다
\s 공백문자를 찾는다
\S 공백이 아닌 문자를 찾는다
\t Tab문자를 찾는다
\v Vertical Tab 문자를 찾는다
\w 문자 + 숫자 + _를 찾는다
\W 문자 + 숫자 + _를 제외한 모든 문자를 찾는다
표현식 상세설명
i case-insentive 대소문자를 구별하지 않음
g 글로벌 첫번째 조건을 찾은 뒤 모든 조건을 다 검색
m 멀티로 조건 검색