인공지능 관련

정규 표현식(Regular Expression)

PGNV 2021. 7. 14. 10:23

 

 

정규 표현식 문법

특수문자 설명
. 한 개의 임의의 문자를 나타냅니다. (줄바꿈 문자인 \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.compile() 정규표현식을 컴파일하는 함수입니다. 다시 말해, 파이썬에게 전해주는 역할을 합니다. 찾고자 하는 패턴이 빈번한 경우에는 미리 컴파일해놓고 사용하면 속도와 편의성면에서 유리합니다.
re.search() 문자열 전체에 대해서 정규표현식과 매치되는지를 검색합니다.
re.match() 문자열의 처음이 정규표현식과 매치되는지를 검색합니다.
re.split() 정규 표현식을 기준으로 문자열을 분리하여 리스트로 리턴합니다.
re.findall() 문자열에서 정규 표현식과 매치되는 모든 경우의 문자열을 찾아서 리스트로 리턴합니다. 만약, 매치되는 문자열이 없다면 빈 리스트가 리턴됩니다.
re.finditer() 문자열에서 정규 표현식과 매치되는 모든 경우의 문자열에 대한 이터레이터 객체를 리턴합니다.
re.sub() 문자열에서 정규 표현식과 일치하는 부분에 대해서 다른 문자열로 대체합니다.

 

 

 

Reference : https://wikidocs.net/21703

'인공지능 관련' 카테고리의 다른 글

(코세라 요약 노트) Deep Learning Sketch Note  (0) 2021.10.09
tensorflow 함수 TIP  (0) 2021.06.22
verbose  (0) 2021.06.09
대표적인 오차 함수  (0) 2021.06.01
최적화 알고리즘 Optimizer  (0) 2021.05.28