728x90
정규 표현식 모듈
파이썬에서는 정규 표현식 모듈 re를 지원하므로, 이를 이용하면 특정 규칙이 있는
텍스트 데이터를 빠르게 정제할 수 있다.
import re
정규 표현식 문법
특수 문자 | 설명 |
. | 한 개의 임의의 문자를 나타냅니다. (줄바꿈 문자인 \n는 제외) |
? | 앞의 문자가 존재할 수도 있고, 존재하지 않을 수도 있습니다. (문자가 0개 또는 1개) |
* | 앞의 문자가 무한개로 존재할 수도 있고, 존재하지 않을 수도 있습니다. (문자가 0개 이상) |
+ | 앞의 문자가 최소 한 개 이상 존재합니다. (문자가 1개 이상) |
^ | 뒤의 문자로 문자열이 시작됩니다. |
$ | 앞의 문자로 문자열이 끝납니다. |
{숫자} | 숫자만큼 반복합니다. |
{숫자1, 숫자2} | 숫자1 이상 숫자2 이하만큼 반복합니다. ?, *, +를 이것으로 대체할 수 있습니다. |
{숫자,} | 숫자 이상만큼 반복합니다. |
[ ] | 대괄호 안의 문자들 중 한 개의 문자와 매치합니다. [amk]라고 한다면 a 또는 m 또는 k 중 하나라도 존재하면 매치를 의미합니다. [a-z]와 같이 범위를 지정할 수도 있습니다. [a-zA-Z]는 알파벳 전체를 의미하는 범위이며, 문자열에 알파벳이 존재하면 매치를 의미합니다. |
[^문자] | 해당 문자를 제외한 문자를 매치합니다. |
l | AlB와 같이 쓰이며 A 또는 B의 의미를 가집니다. |
정규 표현식 문법에는 역 슬래쉬(\)를 이용하여 자주 쓰이는 문자 규칙들이 있습니다.
문자 규칙 | 설명 |
\\ | 역 슬래쉬 문자 자체를 의미합니다 |
\d | 모든 숫자를 의미합니다. [0-9]와 의미가 동일합니다. |
\D | 숫자를 제외한 모든 문자를 의미합니다. [^0-9]와 의미가 동일합니다 |
\s | 공백을 의미합니다. [ \t\n\r\f\v]와 의미가 동일합니다. |
\S | 공백을 제외한 문자를 의미합니다. [^ \t\n\r\f\v]와 의미가 동일합니다. |
\w | 문자 또는 숫자를 의미합니다. [a-zA-Z0-9]와 의미가 동일합니다. |
\W | 문자 또는 숫자가 아닌 문자를 의미합니다. [^a-zA-Z0-9]와 의미가 동일합니다. |
정규표현식 re.함수()
함수 | 설명 |
re.compile() | 정규표현식을 컴파일하는 함수입니다. 다시 말해, 파이썬에게 전해주는 역할을 합니다. 찾고자 하는 패턴이 빈번한 경우에는 미리 컴파일해놓고 사용하면 속도와 편의성면에서 유리합니다. |
re.search() | 문자열 전체에 대해서 정규표현식과 매치되는지를 검색합니다. |
re.match() | 문자열의 처음이 정규표현식과 매치되는지를 검색합니다. |
re.split() | 정규 표현식을 기준으로 문자열을 분리하여 리스트로 리턴합니다. |
re.findall() | 문자열에서 정규 표현식과 매치되는 모든 경우의 문자열을 찾아서 리스트로 리턴합니다. 만약, 매치되는 문자열이 없다면 빈 리스트가 리턴됩니다. |
re.finditer() | 문자열에서 정규 표현식과 매치되는 모든 경우의 문자열에 대한 이터레이터 객체를 리턴합니다. |
re.sub() | 문자열에서 정규 표현식과 일치하는 부분에 대해서 다른 문자열로 대체합니다. |
출처 : wikidocs.net/21703
2020/11/16 - [Python] - [Python] 정규 표현식 예제 실습 ( compile , search )
반응형
'Python' 카테고리의 다른 글
[pandas]. 사용자의 합계를 구해서 칼럼 추가하기 (feat. groupBy) (0) | 2021.10.27 |
---|---|
[Flask].이미지 데이터를 post 형식으로 flask 서버로 보내는 방법( 이상한 트릭) (0) | 2020.12.03 |
[Python] 정규 표현식 예제 실습 ( compile , search ) (0) | 2020.11.16 |
[Pandas] . DataFrame 생성, 삭제 ,추출 (0) | 2020.10.15 |
[Python] List Comprehension 으로 matrix 다루기 (0) | 2020.10.09 |