Algorithm/정리

[Python] 정규 표현식

by somida 2021. 5. 15.

메타 문자

문자가 가진 원래 의미가 아닌 특별한 용도로 사용되는 문자

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

 

import re

import re

# 문자열의 시작 부분에서 일치하는지 판단
re.match(pattern, string, flags)
# match(패턴, 패턴을 찾을 문자열, [옵션])

# match와 비슷하지만, 일치하는 위치를 찾으면서 문자열 훓음
re.search(pattern, string, flags)
# search(패턴, 패턴을 찾을 문자열, [옵션])

# 일치하는 모든 부분 문자열을 찾아 리스트로 반환
re.findall(pattern, string, flags)

# 일치하는 모든 문자열을 찾아 이터레이터로 반환
re.finditer(pattern, string, flags)

 

 

[ ]

# 123중 하나와 매치
[123] 

# 소문자 중 하나와 매치
[a-z]

# 숫자 중 하나와 매치
[0-9]

# 모든 알파벳 중 하나와 매치
[a-zA-Z]

# 반대의 의미 ^
# 숫자를 제외한 문자만 매치
[^0-9]

# 소문자를 제외한 모든 문자와 매치
[^a-z]

 

 

\

# 모든 십진 숫자와 일치 == [0-9]
\d

# 모든 비 숫자 문자와 일치 == [^0-9]
\D

# 모든 공백 문자와 일치 == [ \t\n\r\f\v]
\s

# 모든 비 공백 문자와 일치 == [^ \t\n\r\f\v]
\S

# 모든 영숫자와 일치 == [a-zA-Z0-9_]
\w

# 모든 비 영숫자와 일치 == [^a-zA-Z0-9_]
\W

 

반복

# 0개를 포함하여 반복
ba*
# == baaaaaa
# == baaaaaaaab
# == b

# 최소 한 번 이상 반복
ba+
# == ba
# == baaaaa
# == baaaaaaaaab

# {m, n} 반복 횟수 지정 (m번에서 n번까지 반복)
ba{3, 5}
# == baaa
# == baaaa

 

 

 

추가로 더 공부할때마다 넣어야지

 

 

 

 

 

 

 

 

 

 

 

반응형

'Algorithm > 정리' 카테고리의 다른 글

[Java] Stack 사용  (0) 2023.01.08
[Java] 형 변환  (0) 2022.10.23
[Java] 문법, Method 정리  (0) 2022.10.22
[Python] Import 위치  (0) 2021.05.15

댓글