[파이썬] 6. 정규 표현식
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# Day_01_05_re.py
import re
db = '''3412 Bob 123
3412 Bob 123
3834 Jonny 333
1248 Kate 634
1423 Tony 567
2567 Peter 435
3567 Alice 535
1548 Kerry 534'''
# print(db)
# ''' ''' 설명
ns = re.findall(r'', db)
ns = re.findall(r'[0-9]+', db)
print(ns)
# 문제
# 이름만 찾아보세요.
# names = re.findall(r'[A-z]+', db) # bug
names = re.findall(r'[A-Za-z]+', db)
names = re.findall(r'[A-Z][a-z]+', db) # 별도의 대문자 1자리로 구분됨
print(names)
# 문제
# T로 시작하는 이름만 찾아보세요.
# T로 시작하지 않는 이름만 찾아보세요.
print(re.findall(r' T[a-z]+', db))
# print(re.findall(r'[^T]{a-z]+', db)) # bug why? 'ony'가 포함됨
print(re.findall(r'[A-SU-Z][a-z]+', db))
|
cs |
['3412', '123', '3412', '123', '3834', '333', '1248', '634', '1423', '567', '2567', '435', '3567', '535', '1548', '534']
['Bob', 'Bob', 'Jonny', 'Kate', 'Tony', 'Peter', 'Alice', 'Kerry']
[' Tony']
['Bob', 'Bob', 'Jonny', 'Kate', 'Peter', 'Alice', 'Kerry']
정규표현식 참고: ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D
정규 표현식 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 노랑색 강조 부분은 다음 정규식을 사용했을 때 매치된 것이다. 정규 표현식(正規表現式, 영어: regular expression, 간단히 regexp[1] 또는 regex, rational expression)[2][3] 또
ko.wikipedia.org


형광펜으로 체크한 4가지를 가장 많이 사용한다고 한다.
정규표현식은 파이썬이 아닌 다른 언어를 배우더라도 써먹을 수 있으므로 (수학처럼 서로 합의된 공통의 언어같은 것이다.) 외워두는 것이 좋다.
정규표현식 연습 사이트: regexcrossword.com/
Regex Crossword
A crossword puzzle game using regular expressions. Earn achievements completing puzzle challenges. Easy tutorials for people new to regular expressions.
regexcrossword.com

