정규식
Study
그룹
Groups and ranges
Chracter |
뜻 |
| |
또는 |
() |
그룹 |
[] |
문자셋, 괄호안의 어떤 문자든 |
[^] |
부정 문자셋, 괄호안의 어떤 문가 아닐때 |
(?:) |
찾지만 기억하지는 않음 |
Quantifiers
Chracter |
뜻 |
? |
없거나 있거나 (zero or one) |
* |
없거나 있거나 많거나 (zero or more) |
+ |
하나 또는 많이 (one or more) |
{n} |
n번 반복 |
{min,} |
최소 |
{min,max} |
최소, 그리고 최대 |
Boundary-type
Chracter |
뜻 |
\b |
단어 경계 |
\B |
단어 경계가 아님 |
^ |
문장의 시작 |
$ |
문장의 끝 |
Character classes
Chracter |
뜻 |
\ |
특수 문자가 아닌 문자 |
. |
어떤 글자 (줄바꿈 문자 제외) |
\d |
digit 숫자 |
\D |
digit 숫자 아님 |
\w |
word 문자 |
\W |
word 문자 아님 |
\s |
space 공백 |
\S |
space 공백 아님 |
설명
*
바로 앞에 있는 문자, 대괄호로 묶인 문자들이 0번 이상 나타납니다.
a*b*
aaaaaaa,aaaabbb,bbbbb
+
바로 앞에 있는 문자, 대괄호로 묶인 문자들이 1번 이상 나타납니다.
a+b+
aaabbb,aabbb,abbb
[]
대괄호 안에 있는 문자 중 하나가 나타납니다.
[A-Z]* (A부터 Z까지 0번 이상 반복)
APPLE, CAPITALS
()
그룹으로 묶인 하위 표현식입니다. 가장 먼저 평가됩니다.
(a*b)*
bbbbbb, abbab
{m,n}
바로 앞에 있는 문자, 하위 표현식, 대괄호로 묶인 문자들이 m번 이상 n번 이하 나타납니다.
a{2,5}b{1,2}
aab,aaaabb
[^]
대괄호 안에 있는 문자를 제외한 문자가 나타납니다.
[^A-Z]*
apple, lowercase
|
OR 의 의미를 갖습니다.
b(a| i | e)d
bad, bid, bed
.
공백 혹은 임의의 문자를 나타냅니다.
b.d
bad, b d, b$d
^
바로 뒤의 문자 혹은 하위 표현식이 문자열의 맨 앞에 나타납니다.
^a
apple, adsf, a
\
특수 문자를 원래 의미대로 쓰게 합니다.
\.
.
$
정규 표현식의 마지막에 종종 쓰이며, 바로 앞에 있는 문자나 하위 표현식이 문자열의 마지막이라는 뜻입니다.
[A-Z]*[a-z]*$
abc, AAa
?!
포함하지 않는다는 뜻입니다. 바로 뒤의 문자는 해당 위치에 나타나지 않습니다. 만약 특정 문자를 배제하고 싶다면 ^(?!a)*$
^((?![A-Z].)*$
no-caps-here