정규 표현식

JEON HAN BIT·2023년 3월 22일
0

javaScript

목록 보기
5/6

정규식

MDN : 정규 표현식, 또는 정규식은 문자열에서 특정 문자 조합을 찾기 위한 패턴입니다.
=> ex) 입력값 유효성검사할때 매우유용함 !


정규식 리터럴 (패턴값이 정적일때)

const regExp = /패턴/플래그

정규식 객체호출 (패턴값이 동적일때)

const regExp = new RegExp('패턴',플래그)

플래그 ( 찾기 옵션 )

플래그내용
d부분 문자열 일치에 대해 인덱스 생성.
g전역 탐색
i대소문자를 구분하지 않음.
m여러 줄에 걸쳐 탐색

정규식 문법

Category : 그룹과 범위

Char내용
|또는
()그룹
[ ]문자셋, 괄호안의 어떤 문자든
[^ ]부정 문자셋, 괄호안의 어떤 문가 아닐때
(?: )찾지만 기억하지않음===그룹핑하지않음

Category : 수량

Char내용
?있거나 없거나(zero or one)
*없거나 있거나 많거나 (zero or more)
+하나 또는 많이 (one or more)
{n}n번 반복
{min,}최소값
{min,max}최소값,최대값

Category : 경계지정

Char내용
\b단어 경계
\B단어 경계가 아님
^문장의 시작
$문장의 끝

Category : 문자,숫자,공백 지정

Char내용
\특수문자가 아닌문자
.어떤 글자 (개행문자 제외)
\d숫자
\D숫자 아닌거
\w문자
\W문자 아닌거
\s스페이스
\S스페이스 아닌거

이스케이프 (특수문자 표현식)

\특수문자
ex) .css로 끝나는 파일을 찾고싶다 ? => /.css$/


예제

정규식 연습하는 사이트 : https://regexr.com/

전화번호 찾기

010-1234-1234
02-6544-1234
010.1234.1234
010 1234 1234

regExp : / \d{2,3}[-. ]\d{4}[-. ]\d{4} /

이메일 찾기

qwerty1234@gmail.com
qwert123-qwerty@qwert-520d.com

regExp : / [a-zA-Z0-9.-]+\@[a-zA-Z0-9.-]+.com /


정규식과 관련된 js 메서드

메서드내용
문자열.match(/패턴/플래그)정규식에 매칭되는것만 배열로 반환
정규식.test(문자열)매칭되면 true 아니먼 false

참고한 자료

https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Regular_Expressions
https://www.youtube.com/watch?v=t3M6toIflyQ

0개의 댓글