MDN : 정규 표현식
, 또는 정규식
은 문자열에서 특정 문자 조합을 찾기 위한 패턴입니다.
=> ex) 입력값 유효성검사할때 매우유용함 !
const regExp = /패턴/플래그
const regExp = new RegExp('패턴',플래그)
플래그 | 내용 |
---|---|
d | 부분 문자열 일치에 대해 인덱스 생성. |
g | 전역 탐색 |
i | 대소문자를 구분하지 않음. |
m | 여러 줄에 걸쳐 탐색 |
Char | 내용 |
---|---|
| | 또는 |
() | 그룹 |
[ ] | 문자셋, 괄호안의 어떤 문자든 |
[^ ] | 부정 문자셋, 괄호안의 어떤 문가 아닐때 |
(?: ) | 찾지만 기억하지않음===그룹핑하지않음 |
Char | 내용 |
---|---|
? | 있거나 없거나(zero or one) |
* | 없거나 있거나 많거나 (zero or more) |
+ | 하나 또는 많이 (one or more) |
{n} | n번 반복 |
{min,} | 최소값 |
{min,max} | 최소값,최대값 |
Char | 내용 |
---|---|
\b | 단어 경계 |
\B | 단어 경계가 아님 |
^ | 문장의 시작 |
$ | 문장의 끝 |
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 /
메서드 | 내용 |
---|---|
문자열.match(/패턴/플래그) | 정규식에 매칭되는것만 배열로 반환 |
정규식.test(문자열) | 매칭되면 true 아니먼 false |
https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Regular_Expressions
https://www.youtube.com/watch?v=t3M6toIflyQ