regularExpression

Regular Expression

μ •κ·œ ν‘œν˜„μ‹ (Regular Expression)

특수문자

μ„€λͺ…

.

ν•œ 개의 μž„μ˜μ˜ 문자

?

μ•žμ˜ λ¬Έμžκ°€ μ‘΄μž¬ν•  μˆ˜λ„ 있고, μ‘΄μž¬ν•˜μ§€ μ•Šμ„ μˆ˜λ„ μžˆλ‹€

*

μ•žμ˜ λ¬Έμžκ°€ λ¬΄ν•œκ°œλ‘œ μ‘΄μž¬ν•  μˆ˜λ„ 있고, μ‘΄μž¬ν•˜μ§€ μ•Šμ„ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

+

μ•žμ˜ λ¬Έμžκ°€ μ΅œμ†Œ ν•œ 개 이상 쑴재 (λ¬Έμžκ°€ 1개 이상)

^

λ’€μ˜ 문자둜 λ¬Έμžμ—΄μ΄ μ‹œμž‘λ©λ‹ˆλ‹€.

$

μ•žμ˜ 문자둜 λ¬Έμžμ—΄μ΄ λλ‚©λ‹ˆλ‹€.

{숫자}

숫자만큼 반볡

{숫자1, 숫자2}

숫자1 이상 숫자2 μ΄ν•˜λ§ŒνΌ 반볡

{숫자,}

숫자 μ΄μƒλ§ŒνΌ 반볡

[문자]

λ¬Έμžλ“€ 쀑 ν•œκ°œμ˜ λ¬Έμžμ™€ 맀치

ν•΄λ‹Ή 문자λ₯Ό μ œμ™Έν•œ 문자λ₯Ό 맀치

. ν•œ 개의 μž„μ˜μ˜ 문자

r = re.compile("a.c")
print(r.search("abd")) # None
print(r.search("abc")) # <re.Match object; span=(0, 3), match='abc'>

? μ•žμ˜ λ¬Έμžκ°€ 쑴재 or 미쑴재

* μ•žμ˜ λ¬Έμžκ°€ 0개 이상

+ μ•žμ˜ λ¬Έμžκ°€ 1개 이상

^ μ‹œμž‘λ˜λŠ” κΈ€μžλ₯Ό μ§€μ •

{숫자} ν•΄λ‹Ή 문자λ₯Ό 숫자만큼 반볡

{숫자1, 숫자2} ν•΄λ‹Ή 문자λ₯Ό 숫자1 이상, 숫자2 μ΄ν•˜λ§ŒνΌ 반볡

{숫자,} ν•΄λ‹Ή 문자λ₯Ό 숫자 이상 만큼 반볡

[문자] λ¬Έμžλ“€ 쀑 ν•œκ°œμ˜ λ¬Έμžμ™€ 맀치

  • [a-zA-Z]λŠ” μ•ŒνŒŒλ²³ μ „λΆ€λ₯Ό 의미, [0-9]λŠ” 숫자 μ „λΆ€λ₯Ό 의미

μ œμ™Έν•œ λͺ¨λ“  문자λ₯Ό 맀치

μ •κ·œ ν‘œν˜„μ‹ 문자 κ·œμΉ™

λ¬Έμžκ·œμΉ™

μ„€λͺ…

\

μ—­ μŠ¬λž˜μ‰¬ 문자 자체λ₯Ό 의미

\d

λͺ¨λ“  숫자λ₯Ό 의미, [0-9]와 λ™μΌν•œ 의미

\D

숫자λ₯Ό μ œμ™Έν•œ λͺ¨λ“  문자λ₯Ό 의미, 와 λ™μΌν•œ 의미

\s

곡백을 의미, [\t\n\r\f\v]와 λ™μΌν•œ 의미

\S

곡백을 μ œμ™Έν•œ 문자λ₯Ό 의미, 와 λ™μΌν•œ 의미

\w

문자 λ˜λŠ” 숫자λ₯Ό 의미, [a-zA-Z0-9]와 λ™μΌν•œ 의미

\W

문자 λ˜λŠ” μˆ«μžκ°€ μ•„λ‹Œ 문자λ₯Ό 의미, 와 λ™μΌν•œ 의미

Last updated