[Python] 정규 표현식

2020. 5. 20. 19:11Programming Language/Python

반응형

■ 정규식을 통한 문자열 검색

메소드 목적
compile() 해당 정규식을 반복적으로 필요할때 객체로 생성해서 사용한다.
match() 문자열의 처음부터 정규식과 매치되는지 조사한다.
search() 문자열 전체에서 검색하여 정규식과 매치되는지 조사한다.
findall() 정규식과 매치되는 모든 문자열을 리스트로 돌려준다.
finditer() 정규식과 매치되는 모든 문자열을 반복가능한 객체형태로 돌려준다
split() 문자열 전체를 정규식에 매치되는 문자로 구별하여 리스트로 반환
sub() 정규식과 매치되는 문자열을 원하는 문자열로 변환(치환)해서 문자열로 반환

■ 정규 표현식의 기초, 메타 문자

메타 문자 정의
[] [ 와 ] 사이의 문자들과 매치, 두 문자사이에 하이픈(-)을 사용하면 두 문자 사이의 범위를 의미
Dot(.) 줄바꿈 문자인 \n을 제외한 모든 문자와 매치됨을 의미
* * 메타 문자 바로 앞에 있는 문자가 0번 이상 반복된 경우 매치됨을 의미 
+ + 메타 문자 바로 앞에 있는 문자가 1번 이상 반복된 경우 매치됨을 의미
{m,n} {[m],[n]} 메타 문자 바로 앞에 있는 문자가 m에서 n까지 반복된 경우 매치됨을 의미
? ? 메타 문자 바로 앞에 있는 문자 0번 또는 1번 사용된 경우 매치됨을 의미 
| or 조건식을 의미
^ 문자열의 시작 의미
$ 문자열의 끝을 의미
\ 이스케이프, 또는 메타 문자를 일반 문자로 인식하게 한다
() 그룹핑, 추출할 패턴을 지정한다.

■ 정규 표현식

표현식 축약 표현 설명
[0-9] \d 숫자를 찾는다
[^0-9] \D 숫자가 아닌 것을 찾는다
[ \t\n\r\f\v] \s whitespace 문자인 것을 찾는다
[^ \t\n\r\f\v] \S whitespace 문자가 아닌 것을 찾는다
[a-zA-Z0-9] \w 문자 + 숫자인 것을 찾는다.(특수문자는 제외. 단, 언더스코어 포함)
[^a-zA-Z0-9] \W 문자 + 숫자가 아닌 것을 찾는다.
반응형