오음

python) 정규표현식 생각 안날 때 본문

데이터 엔지니어링/파이썬

python) 정규표현식 생각 안날 때

오준돌 2023. 3. 9. 22:02

    / 정규식 / i

시작     종료 플래그

 

메타문자

. 줄바꿈 문자 제외 모든 문자
? 0,1개의 문자를 포함
* 0개 이상의 문자를 포함
+ 1개 이상의 문자를 포함
^ 문자열 시작
$ 문자열 끝
| 문자 OR연산
[] 문자 집합
[^] 문자 NOT연산
[-] 문자 범위
{n} n회 반복 문자
{n,m} n회 이상, m회 이하
{n,} n회 이상 반복인 문자
() 정규식 그룹화

 

이스케이프 문자

\w [a-zA-Z0-9] 문자,숫자
\W [^a-zA-Z0-9] 문자,숫자 제외
\d [0-9] 숫자
\D [^0-9] 숫자제외
\s [\t\n\r\f\v] 공백 문자
\S [^\t\n\r\f\v] 공백 문자 제
(   좌측 소괄호
)   우측 소괄호

탐색 문자 목록

(?=) 앞의 문자가 포함
(?!) 앞의 문자가 포함 x
(?<=) 뒤의 문자가 포함
(?<!) 뒤의 문자가 포함 x

 

자주 쓰는 정규표현식 눈에 익히기

 

1. 괄호 안에 문자 찾기 

\((.*?)\)

\( \) 이스케이프 문자 좌측 소괄호와 우측 소괄호를 의미

소괄호(.*?)를 찾는 정규표현식

import re 

text = '서울역(100st)' 

print(re.sub(r'\([^)]*\)', '', text)) 

'서울'

 

2. 이메일 주소

/^[a-z0-9_+.-]+@([a-z0-9-]+\.)+[a-z0-9]{2,4}$/

3. URL주소

/^(file|gopher|news|nntp|telnet|https?|ftps?|sftp):\/\/([a-z0-9-]+\.)+[a-z0-9]{2,4}.*$/

4. HTML 태그

/\<(/?[^\>]+)\>/

5. 전화번호

/(\d{3}).*(\d{3}).*(\d{4})/

6. 확장자 파일

/([^\s]+(?=\.(jpg|gif|png))\.\2)/

 

# 참고

https://gocoding.tistory.com/93

 

자주 쓰이는 정규식(Regular Expression)

전자우편 주소: /^[a-z0-9_+.-]+@([a-z0-9-]+\.)+[a-z0-9]{2,4}$/ URL: /^(file|gopher|news|nntp|telnet|https?|ftps?|sftp):\/\/([a-z0-9-]+\.)+[a-z0-9]{2,4}.*$/ HTML 태그 - HTML tags: /\]+)\>/ 전화 번호 - 예, 123-123-2344 혹은 123-1234-1234: /(\d{

gocoding.tistory.com