์ ๊ทํํ์์ ๋ฌธ์์ด์ ์กฐ๊ฑด์ด ์ฃผ์ด์ง ๊ฒฝ์ฐ ์ ์ฉํ๋ฉด ๊ฐ๊ฒฐํ๊ฒ ์ฝ๋๋ฅผ ๊ตฌํํ ์ ์๋ค.
์ด์ ํ๋ก์ ํธ์์ ๋ก๊ทธ์ธ์ ๊ตฌํํ ๋ ์กฐ๊ฑด์ ๋ฐ๋ฅธ ๋น๋ฐ๋ฒํธ ๊ฒ์ฌ ์ฝ๋๋ฅผ ์ ๊ท์์ ํตํด ์์ํ๊ฒ ๊ตฌํํ๋ ๊ธฐ์ต์ด ์๋ค.
๋๋๊ฒ๋ ์นด์นด์ค ์ฝํ ์๋ ์ ๊ท์์ ์ด์ฉํ ๋งํ ๋ฌธ์ ๊ฐ ๊ฝค ๋์จ๋ค๊ณ ํ๋ค.
๊ฒธ์ฌ๊ฒธ์ฌ ๊ณต๋ถํด์ผ์ง.
์ ๊ทํํ์์ ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ re ํจํค์ง๋ฅผ ์ด์ฉํด ์ฌ์ฉํ ์ ์๋ค.
import re
re.sub(pattern, replacement, string)
string์์ pattern๊ณผ ์ผ์นํ๋ ๋ฌธ์์ด์ replacement๋ก ์นํ
print(re.sub('\d{4}', 'XXXX', '010-1234-5678')) # 010-XXXX-XXXX
์ด๋ฅผ ํ์ฉํ์ฌ ํน์ pattern์ ํฌํจํ ๋ฌธ์์ด์ ์ ๊ฑฐํ๋ ๊ธฐ๋ฅ๋ ๊ตฌํํ ์ ์๋ค.
print(re.sub('def', '', 'defabcdef')) # abc
๋ฉํ๋ฌธ์
์ ๊ท์์ ํ์ฉํ๊ธฐ ์ํด์๋ ๋ฉํ ๋ฌธ์๋ฅผ ์ ์ฌ์ฉํ ์ค ์์์ผํ๋ค.
๋ฉํ ๋ฌธ์ | ์ค๋ช |
* | 0ํ ์ด์ ๋ฐ๋ณต |
+ | 1ํ ์ด์ ๋ฐ๋ณต |
{m,n} | mํ ์ด์ nํ ์ดํ |
| | or ์กฐ๊ฑด์ ex. A|B |
^ | ๋ฌธ์์ด์ ์์ |
$ | ๋ฌธ์์ด์ ๋ |
? | 0ํ ์ด์ 1ํ ์ดํ |
[] | ๋ฌธ์ ํด๋์ค |
() | ์ถ์ถํ ํจํด ์ง์ |
- ๋๊ดํธ ์์์ hyphen(-)์ ๋ฒ์๋ฅผ ๋ํ๋ธ๋ค.
- [a-z] = a๋ถํฐ z๊น์ง
- [0-9] = 0๋ถํฐ 9๊น์ง
- ^๋ฌธ์์ด์ ๋งจ ์ฒ์๊ณผ ์ผ์นํจ์ ์๋ฏธํ์ง๋ง, ๋๊ดํธ ์์์์ [^๋ฌธ์์ด]์ not์ ์๋ฏธ์ด๋ค.
- ๋ฌธ์ ํด๋์ค๋ฅผ ์ด์ฉํ ์ ๊ท ํํ์
- [0-9] = \d : ์ซ์๋ฅผ ์ฐพ๋๋ค.
- [^0-9] = \D : ์ซ์๊ฐ ์๋ ๊ฒ์ ์ฐพ๋๋ค.
- [a-zA-Z0-9] = \w: ์ํ๋ฒณ ๋ฌธ์ + ์ซ์์ธ ๊ฒ์ ์ฐพ๋๋ค.
- [^a-zA-Z0-9] = \W: ์ํ๋ฒณ ๋ฌธ์ + ์ซ์๊ฐ ์๋ ๊ฒ์ ์ฐพ๋๋ค.
- ๋ฐ๋ณต *: * ์ ํ ๋ฌธ์๊ฐ 0๋ฒ ์ด์ ๋ฐ๋ณต
- ํด๋น ๋ฌธ์ ๋ฑ์ฅํ์ง ์์๋ ใฑใ
- ๋ฐ๋ณต +: + ์ ํ ๋ฌธ์๊ฐ 1๋ฒ ์ด์ ๋ฐ๋ณต
- ํด๋น ๋ฌธ์๊ฐ ๋ฌด์กฐ๊ฑด ํ ๋ฒ ์ด์ ๋ฑ์ฅํด์ผํจ
- [A-Z]+: ์ํ๋ฒณ ๋๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด
- ๋ฐ๋ณต {}: ์ ํ ๋ฌธ์์ ๋ฐ๋ณต ํ์ ์ง์
- ab{2}c: a๊ฐ 2ํ ๋ฐ๋ณต๋์ด์ผํจ
- ab{2,4}c: a๊ฐ 2ํ ์ด์ 4ํ ์ด์ฌ ๋ฐ๋ณต๋์ด์ผํจ
- ๋ฐ๋ณต ?: ? ์ ํ ๋ฌธ์์ ๋ฐ๋ณต ํ์ = {0,1}
- ^: ๋ฌธ์์ด ์์์ ํด๋น ๋ฌธ์๊ฐ ์์ผํจ
- $: ๋ฌธ์์ด ๋์ ํด๋น ๋ฌธ์๊ฐ ์์ผํจ
'๐ฆ Computer Language > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ๋ฆฌ์คํธ, 2์ฐจ์ ๋ฐฐ์ด ์ ๋ ฌํ๊ธฐ | sort() (0) | 2021.07.23 |
---|---|
[Python] Collections - deque | ๊ฐ๋ , ๋ฉ์๋, list์์ ์ฐจ์ด (0) | 2021.07.19 |
[Python] list B = A์ B = A[:]์ ์ฐจ์ด (0) | 2021.07.14 |
[Python] itertools: permutations, combinations | ์์ด, ์กฐํฉ (0) | 2021.07.12 |
[Python] 2์ฐจ์ ๋ฐฐ์ด์์ ์ต๋๊ฐ๊ณผ ์ต์๊ฐ ๊ตฌํ๊ธฐ (0) | 2021.07.12 |