1. 기본적인 정규식

정규식 내용 예시
. 임의의 문자 1개를 의미  
^ 시작을 의미, [ ] 괄호 안에 있다면 일치하지 않는 부정의 의미로 사용 ^a : a로 시작하는 단어
[^a] : a가 아닌 철자인 문자 1개
$ $앞의 문자열로 문자가 끝나는지를 의미 a$ : a로 끝나는 단어
[ ] [ ] 안의 문자가 있는지를 확인 [ab][cd] : a,b중 한 문자와 c,d중 한 문자
-> ac ad bc bd 
- 시작부터 마지막까지 문자나 숫자를 의미 [a-z] : 알파벳 소문자 a부터 z까지
[a-z0-9] : 알파벳 소문자 전체,0~9 중 한 문자
| 또는, OR [a|b] : a 혹은 b
( ) 그룹 01 (0|1) : 01뒤에 0 또는 1이 들어간다
-> 010(o), 011(o), 012(x)
{ } 반복하는 개수를 의미 a{3}b : a가 3번 온 후 b가 온다
-> aab(x), aaab(o), aaaab(o)
\b 공백, 탭, ",", "/" 등을 의미한다 apple\b : apple뒤에 공백 탭등이 있다
-> apple juice (o), apple.com (x)
\B \b의 부정, 공백, 탭 등이 아닌 문자인 경우 매치 apple\b
-> apple.com (o)
\d 0~9 사이의 숫자 [0-9]와 동일  
\D \d의 부정 의미, 숫자가 아닌 어떤 문자, [^0-9]와 동일  
\s 공백, 탭  
\S 공백, 탭이 아닌 문자  
\w 알파벳 대소문자+숫자+"_",  [a-zA-Z_0-9]와 동일  
\W \w의 부정,  [^a-zA-Z_0-9]와 동일  

 

2. 자주 사용하는 정규식

정규식 내용 예시
? 앞의 표현식이 0개 이상 a1? : 1이 있을수도 없을수도 있다
-> a (o), a1(o), a2(o)
* 앞의 표현식이 0개 이상 a1* : 1이 있을수도 없을수도 있다
-> a (o), a1(o), a2(o)
+ 1개 이상 a1* : 1이 1개 이상있다
-> a (x), a1(o), a11(o)
{n} n개 있다 a{3} : a가 3개 있다
-> aa(x), aaa(o), aaaa(o)
{n, m} n개 이상 m개 이하 a{3,5} : a가 3개 or 4개 or 5개 있다
-> aa(x), aaa(o), aaaa(o), aaaaaaa(o)
{n,} n개 이상 (m제거) a{3,} : a가 3개 이상 있다
-> aa(x), aaa(o)

+ Recent posts