πŸ¦• 곡룑이 되자!

pyrhon_re_study...9 λ³Έλ¬Έ

Development/Python

pyrhon_re_study...9

Kirok Kim 2021. 12. 26. 23:03

μ •κ·œ ν‘œν˜„μ‹μ˜ 기초 λ©”νƒ€λ¬Έμž

문자 클래슀[ ]

문자 클래슀둜 λ§Œλ“€μ–΄μ§„ μ •κ·œμ‹μ€ “[ ] μ‚¬μ΄μ˜ λ¬Έμžλ“€κ³Ό 맀치” λΌλŠ” 의미

[abc]
"a"λŠ” μ •κ·œμ‹κ³Ό μΌμΉ˜ν•˜λŠ” 문자인 "a"κ°€ μžˆμœΌλ―€λ‘œ 맀치
"before"λŠ” μ •κ·œμ‹κ³Ό μΌμΉ˜ν•˜λŠ” 문자인 "b"κ°€ μžˆμœΌλ―€λ‘œ 맀치
"dude"λŠ” μ •κ·œμ‹κ³Ό μΌμΉ˜ν•˜λŠ” 문자인 a, b, c 쀑 μ–΄λŠ ν•˜λ‚˜λ„
ν¬ν•¨ν•˜κ³  μžˆμ§€ μ•ŠμœΌλ―€λ‘œ λ§€μΉ˜λ˜μ§€ μ•ŠμŒ

[ ] μ•ˆμ˜ 두 문자 사이에 ν•˜μ΄ν”ˆ(-)을 μ‚¬μš©ν•˜λ©΄ 두 문자 μ‚¬μ΄μ˜
λ²”μœ„(From - To)λ₯Ό μ˜λ―Έν•œλ‹€. 예λ₯Ό λ“€μ–΄ [a-c]λΌλŠ” μ •κ·œ ν‘œν˜„μ‹μ€
[abc]와 λ™μΌν•˜κ³  [0-5]λŠ” [012345]와 λ™μΌν•˜λ‹€.

문자 클래슀([ ]) μ•ˆμ—λŠ” μ–΄λ–€ λ¬Έμžλ‚˜ 메타 λ¬Έμžλ„ μ‚¬μš©ν• μˆ˜ μžˆμ§€λ§Œ
μ£Όμ˜ν•΄μ•Ό ν•  메타 λ¬Έμžκ°€ 1κ°€μ§€ μžˆλ‹€. 그것은 λ°”λ‘œ ^인데, 문자 클래슀
μ•ˆμ— ^ 메타 문자λ₯Ό μ‚¬μš©ν•  κ²½μš°μ—λŠ” λ°˜λŒ€(not)λΌλŠ” 의미λ₯Ό κ°–λŠ”λ‹€.
예λ₯Ό λ“€μ–΄ [^0-9]λΌλŠ” μ •κ·œ ν‘œν˜„μ‹μ€ μˆ«μžκ°€ μ•„λ‹Œ 문자만 λ§€μΉ˜λœλ‹€.
[자주 μ‚¬μš©ν•˜λŠ” 문자 클래슀]

[0-9] λ˜λŠ” [a-zA-Z] 등은 무척 자주 μ‚¬μš©ν•˜λŠ” μ •κ·œ ν‘œν˜„μ‹μ΄λ‹€.
μ΄λ ‡κ²Œ 자주 μ‚¬μš©ν•˜λŠ” μ •κ·œμ‹μ€ λ³„λ„μ˜ ν‘œκΈ°λ²•μœΌλ‘œ ν‘œν˜„ν•  수 μžˆλ‹€.

\\d - μˆ«μžμ™€ 맀치, [0-9]와 λ™μΌν•œ ν‘œν˜„μ‹μ΄λ‹€.
\\D - μˆ«μžκ°€ μ•„λ‹Œ 것과 맀치, [^0-9]와 λ™μΌν•œ ν‘œν˜„μ‹μ΄λ‹€.
\\s - whitespace λ¬Έμžμ™€ 맀치, [ \\t\\n\\r\\f\\v]와 λ™μΌν•œ ν‘œν˜„μ‹
     맨 μ•žμ˜ 빈 칸은 곡백문자(space)λ₯Ό μ˜λ―Έν•œλ‹€.
\\S - whitespace λ¬Έμžκ°€ μ•„λ‹Œ 것과 맀치, [^ \\t\\n\\r\\f\\v]와 동일
\\w - 문자+숫자(alphanumeric)와 맀치, [a-zA-Z0-9_]와 동일
\\W - 문자+숫자(alphanumeric)κ°€ μ•„λ‹Œ λ¬Έμžμ™€ 맀치, [^a-zA-Z0-9_]
		 λŒ€λ¬Έμžλ‘œ μ‚¬μš©λœ 것은 μ†Œλ¬Έμžμ˜ λ°˜λŒ€μž„μ„ μΆ”μΈ‘ν•  수 μžˆλ‹€.

Dot(.) / 반볡(*) / 반볡(+)/ 반볡{(m,n),?}

a.b
"a + λͺ¨λ“ λ¬Έμž + b"

"abc"λŠ” "a"λ¬Έμžμ™€ "b"문자 사이에 μ–΄λ–€ λ¬ΈμžλΌλ„ ν•˜λ‚˜λŠ”μžˆμ–΄μ•Ό
ν•˜λŠ” 이 μ •κ·œμ‹κ³Ό μΌμΉ˜ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ λ§€μΉ˜λ˜μ§€ μ•ŠλŠ”λ‹€.

a[.]b
"a + Dot(.)문자 + b"

ca*t
이 μ •κ·œμ‹μ—λŠ” λ°˜λ³΅μ„ μ˜λ―Έν•˜λŠ” * 메타 λ¬Έμžκ°€ μ‚¬μš©λ˜μ—ˆλ‹€.
μ—¬κΈ°μ—μ„œ μ‚¬μš©ν•œ *은 * λ°”λ‘œ μ•žμ— μžˆλŠ” 문자 aκ°€ 0λΆ€ν„° λ¬΄ν•œλŒ€λ‘œ
반볡될 수 μžˆλ‹€λŠ” μ˜λ―Έμ΄λ‹€.

ca+t
"c + a(1번 이상 반볡) + t"
λ°˜λ³΅μ„ λ‚˜νƒ€λ‚΄λŠ” 또 λ‹€λ₯Έ 메타 문자둜 +κ°€ μžˆλ‹€.
+λŠ” μ΅œμ†Œ 1번 이상 반볡될 λ•Œ μ‚¬μš©ν•œλ‹€. 즉 *κ°€ 반볡 횟수 0뢀터라면
+λŠ” 반볡 횟수 1뢀터인 것이닀.

ca{2}t
{1,}은 +와 λ™μΌν•˜κ³ , {0,}은 *와 λ™μΌν•˜λ‹€.
ca{2,5}t
"c + a(2~5회 반볡) + t"
ab?c
"a + b(μžˆμ–΄λ„ 되고 없어도 λœλ‹€) + c"

μ°Έκ³ : https://wikidocs.net/book/1

 

점프 투 파이썬

** 점프 투 파이썬 μ˜€ν”„λΌμΈ μ±…(κ°œμ •νŒ) μΆœκ°„ !! (2019.06) ** * [μ±… κ΅¬μž… μ•ˆλ‚΄](https://wikidocs.net/4321) 이 책은 파이썬 ...

wikidocs.net

 

λ°˜μ‘ν˜•

'Development > Python' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

match 객체의 λ©”μ„œλ“œ  (0) 2021.12.28
μ •κ·œμ‹μ„ μ΄μš©ν•œ λ¬Έμžμ—΄ 검색  (0) 2021.12.28
python_re_study...8  (0) 2021.12.22
python_re_study...7  (0) 2021.12.21
python_re_study...6  (0) 2021.12.19
Comments