Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
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
Archives
Today
Total
관리 메뉴

폐관수련

정규 표현식 본문

Programming/grammar

정규 표현식

믜믜 2021. 8. 11. 19:14

메타 문자

 

메타 문자 : 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자

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

 

 

문자 클래스 [ ]

- [ ] 사이의 문자들과 매치

- [ ] 안의 두 문자 사이에 하이픈(-)을 사용하면 두 문자 사이의 범위를 의미

 ex) [a-zA-Z] : 알파벳 모두, [0-9] : 숫자

- ^ 메타 문자는 반대(not)를 의미

- 자주 사용하는 문자 클래스

\d : 숫자와 매치							(=[0-9])
\D : 숫자가 아닌 것과 매치				(=[^0-9])
\s : whitespace 문자와 매치				(=[ \t\n\r\f\v])
\S : whitespace 문자가 아닌 것과 매치	(=[^ \t\n\r\f\v])
\w : 문자, 숫자와 매치					  (=[a-zA-Z0-9_])
\W : 문자, 숫자가 아닌 문자와 매치		 (=[^a-zA-Z0-9_])

 

Dot (.)

- 줄바꿈 문자인 \n을 제외한 모든 문자와 매치

a.b : a + 모든 문자 + b -> aab, abb, abbbbb 가능
a[.]b : a + . 문자 + b -> a.b

 

반복 (*)

- * 바로 앞에 있는 문자가 0부터 무한대로 반복될 수 있다는 의미

 

반복 (+)

- + 바로 앞에 있는 문자가 1부터 무한대로 반복될 수 있다는 의미

 

반복 ({m, n], ?)

- {n} : 반드시 n번 반복

- {m, n} : m~n번 반복

- ? : 있어도 되고 없어도 됨

 

 

파이썬 정규 표현식 모듈 re

 

import re
p = re.compile('[a-z]+')

 

메서드 match

- 문자열의 처음부터 정규식과 매치되는지 조사

- match 객체 또는 None을 반환

m = p.match("python")
print(m)

 

메서드 search

- 존재 여부를 조사

- match 객체 또는 None을 반환

m = p.search("python")
print(m)

 

메서드 findall

- 리스트로 반환

 

메서드 finditer

- findall과 동일하지만 그 결과로 반복 가능한 객체를 반환

- 반복 가능한 객체가 포함하는 각각의 요소는 match 객체

'Programming > grammar' 카테고리의 다른 글

[C#] 인터페이스 (interface)  (0) 2021.12.29
[C#] Func, Action  (0) 2021.11.04
리스트 컴프리헨션 (List Comprehension)  (0) 2021.08.11
[C#] ControlPaint.DrawReversibleFrame  (0) 2020.07.23
[C#] List / Array / ArrayList  (0) 2020.07.20
Comments