본문 바로가기
프론트개발/HTML+CSS+JS

[JS] 정규표현식 (regexp)

by YoungJu 2022. 2. 5.
반응형
SMALL

정규식표현 이란?

정규 표현식(regular expression, regexp)또는 정규식은 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어입니다. 정규 표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 간단한 문자 검색부터 이메일, 패스워드 검사 등의 복잡한 문자 일치 기능을 정규식 패턴으로 빠르게 수행하는데 도움을 줍니다.

역할

  • 문자 검색(search)
  • 문자 추출(extract)
  • 문자 대체(replace)

정규 표현식 테스트 사이트

정규 표현식을 공부하면서 아래의 사이트를 활용하면 많은 도움이 됩니다.

http://www.regexr.com/

 

RegExr: Learn, Build, & Test RegEx

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

regexr.com

http://rubular.com/

 

Rubular

Ruby-based regular expression editor/tester

rubular.com

 


JS 정규식 생성

1. 생성자 함수 방식

RegExp 생성자 함수를 호출하여 사용하는 방법. (많이 사용하지 않는다)

const regexp1 = new RegExp("^hello");

const regexp2 = new RegExp("^hello", "gi");

2. 리터럴(Literal) 방식

/ 로 감싸진 패턴을 리터럴로 사용.

const regexp1 = /^hello/;

const regexp2 = /^hello/gi;

메소드

메소드 문법 설명
test 정규식.test(문자열) 대상을 매치하여 매치 여부(Boolean)값으로 반환.
match 문자열.match(정규식) 정규표현식에서 조건에 일치하는 문자열을 배열로 반환.
search 문자열.search(정규식) 정규표현식에서 조건에 부합하는 문자열의 인덱스를 반환.
replace 문자열.replace(정규식, 대체문자) 조건에 부합하는 문자열을 변환시키고 대체된 문자열을 반환.
split 문자열.split(정규식) 조건에 부합하는 값을 기준으로 문자열을 분할하여 배열로 반환.
exec 정규식.exec(문자열) 대상을 검색하여 조건에 부합하는 결과 하나를 배열로 반환.

플래그 옵션

플래그 설명
g 모든 문자 일치(global)
i 대소문자 구분 않고 일치(ignore case)
m 여러 줄 일치(multi line)
s 1개의 라인을 탐색
x 공백과 주석을 허용

패턴 표현

패턴 설명
^ab Line 시작에 있는 ab와 일치
ab$ 줄 끝 부분의 ab와 일치
. 임의의 한 문자와 일치
a|b a or b와 일치
ab? b가 없거나 b와 일치
[abc] a 또는 b 또는 c
[a-z] a부터 z 사이의 문자 구간에 일치(영어 소문자)
[0-9] 0부터 9 사이의 문자 구간에 일치(숫자)
[가-힣] 가 부터 힣 사이의 문자 구간에 일치(한글)
\w 63개 문자(Word, 대소영문52 + 숫자10개 + _ )에 일치
\b 63개 문자에 일치하지 않는 문자 경계(Boundary) (특수문자)
\d 숫자(Digit)에 일치
\s 공백(Space, Tab 등)에 일치
(?=) 앞쪽 일치(Lookahead)
(?<=) 뒤쪽 일치(Lookbehind)
반응형

'프론트개발 > HTML+CSS+JS' 카테고리의 다른 글

Node.js 와 NVM  (0) 2022.01.28
[CSS] CSS 우선순위  (0) 2022.01.05
[CSS] CSS 선택자(2)  (0) 2022.01.05
[CSS] CSS 선택자(1)  (0) 2022.01.05
[CSS] CSS 선언 방식  (0) 2022.01.05

댓글