Python-regular-expression.md


λ³΅μž‘ν•œ λ¬Έμžμ—΄μ„ μ²˜λ¦¬ν•  λ•Œ μ‚¬μš©ν•˜λŠ” κΈ°λ²•μœΌλ‘œ , python만의 고유 문법이 μ•„λ‹Œ λ¬Έμžμ—΄μ„ μ²˜λ¦¬ν•˜λŠ” λͺ¨λ“  κ³³μ—μ„œ μ‚¬μš©ν•œλ‹€.

Why?

  • μ •κ·œν‘œν˜„μ‹μ„ μ‚¬μš©ν•˜λ©΄ μ½”λ“œλ₯Ό κ°„μ†Œν™” ν•  수 μžˆλ‹€. λ¬Έμžμ—΄μ—μ„œ νŠΉμ • 문자λ₯Ό μ°Ύκ±°λ‚˜, κ·œμΉ™μ„ μ§€μ •ν•˜λŠ” κ²½μš°μ— 자주 쓰인닀.

메타 문자 (meta characters)


  • 메타 λ¬Έμžλž€ μ›λž˜ κ·Έ λ¬Έμžκ°€ 가진 뜻이 μ•„λ‹Œ νŠΉλ³„ν•œ μš©λ„λ‘œ μ‚¬μš©ν•˜λŠ” 문자

  • μ •κ·œν‘œν˜„μ‹μ—μ„œ μ‚¬μš©ν•˜λŠ” 메타 문자

    • . ^ $ * + ? { } [ ] \ | ( )

문자 클래슀 [ ]

  • [] μ‚¬μ΄μ˜ λ¬Έμžλ“€κ³Ό 맀치

  • μ •κ·œν‘œν˜„μ‹μ΄ [abc]라면 이 ν¬ν˜„μ‹μ€ "a, b, c 쀑 ν•œκ°œμ˜ λ¬Έμžμ™€ 맀치"λ₯Ό λœ»ν•œλ‹€.

  • []μ•ˆμ˜ 두 문자 사이에 ν•˜μ΄ν”ˆ(-)을 μ‚¬μš©ν•˜λ©΄ 두 문자 μ‚¬μ΄μ˜ λ²”μœ„(From-To)λ₯Ό μ˜λ―Έν•œλ‹€

    • [a-zA-Z] - μ•ŒνŒŒλ²³ λͺ¨λ‘

    • [0-9] - 숫자

Dot(.)

  • .

    • λͺ¨λ“  λ¬Έμžμ™€ λ§€μΉ˜λ˜λŠ” λ©”νƒ€λ¬Έμžμ΄λ‹€.

  • a.b vs a[.]b

    • a.b: κ°€μš΄λ° λ¬ΈμžλŠ” Dot 문자둜 μ‚¬μš©λœλ‹€.

    • a[.]b: 문자 클래슀 내에 Dot 메타 λ¬Έμžκ°€ μ‚¬μš©λœλ‹€λ©΄ 문자. κ·ΈλŒ€λ‘œλ₯Ό μ˜λ―Έν•œλ‹€.

?

직전에 μžˆλŠ” μž„μ˜μ˜ 문자λ₯Ό 0회 λ˜λŠ” 1회 λ°˜λ³΅ν•œ νŒ¨ν„΄μ— 맀치

+

직전에 μžˆλŠ” μž„μ˜ νŒ¨ν„΄μ„ 1회 λ˜λŠ” κ·Έ μ΄μƒμ˜ 수둜 가급적 많이 λ°˜λ³΅ν•˜λŠ” νŒ¨ν„΄μ— λŒ€ν•΄μ„œ 맀치

findall

μ •κ·œμ‹μ„ λ§Œμ‘±ν•˜λŠ” λͺ¨λ“  λ¬Έμžμ—΄μ„ 리슀트 ν˜•νƒœλ‘œ μΆ”μΆœ

sub()

μ •κ·œμ‹μ— ν•΄λ‹Ήν•˜λŠ” λ¬Έμžμ—΄μ„ νŠΉμ • λ¬Έμžμ—΄λ‘œ λŒ€μ²΄

Last updated