Python RegEx [정규식]
- 검색 패턴을 형성하는 일련의 문자
- 문자열에 지정된 검색 패턴이 포함되어 있는지를 확인할 수 있습니다
- 내장패키지이며 아래와 같이 사용한다
import re
#문자열을 검색하여 The로 시작하고 Spain으로 끝나는지 확인합니다
txt = "The rain in Spain"
x = re.search("^The.*Spain$",txt)
if x:
print("Yes! match!")
else:
print("No match")
정규식 함수
1) findall : 모든 일치 항목이 포함된 목록을 리턴
2) search : 문자열에서 일치하는 항목을 검색하고 일치하는 항목이 있으면 Match객체를 리턴
3) split : 일치할때 마다 문자열이 분할된 목록을 리턴
4) sub : 일치하는 항목을 선택한 텍스트로 바꿉니다
메타문자
[] => 문자세팅
\ => 특수시퀀스(특수문자를 이스케이프하는데 사용한다)
. => 모든 문자인데 개행문자 제외
^ => start with
$ => end with 끝나는지
* => 곱하기 , 0개 이상의 발생
+ => 하나 이상의 발생
? => 0개 이상의 발생
{} => 정확히 지정된 발생횟수
| => 하나 또는
() => 캡처 및 그룹화
특수시퀀스
\A : 지정된 문자가 문자열의 시작부분에 있으면 일치항목을 리턴
\b : 지정된 문자가 문자열의 시작 또는 끝에 있는 일치항목을 리턴 r"\bain 문자열이 원시문자열로 처리되는지 확인
\B : 지정된 문자가 시작 또는 끝이아닌 일치항목을 리턴
\d : 문자열에 숫자(0-9)가 포함된 일치항목을 리턴
\D : 문자열에 숫자가 포함되지 않는 일치 항목을 리턴합니다
\s : 문자열에 공백문자가 포함된 일치 항목을 리턴
\S : 문자열에 공백문자가 포함되지 않는 일치 항목을 리턴
\w : 문자열에 임의의 단어 문자 ((a-z), (0-9)까지의 숫자 및 밑줄)과 포함된 일치항목을 리턴
\W : 문자열에 단어문자가 포함되지 않은 일치 항목을 리턴
\Z : 지정된 문자가 문자열 끝에 있으면 일치항목을 리턴
세트 : 특별한 의미를 갖는 한 쌍의 대괄호안에 있는 문자 세트
[arn] : 지정된 문자 (a,r,n) 중 하나가 존재하는 일치항목을 리턴
[a-n] : a와 n사이의 알파벳 순으로 모든 소문자에 일치항목을 리턴
[^arn] : (a,r,n) 제외한 모든 몬자에 대한 일치항목을 리턴
[0123] : 지정된 숫자 (0,1,2,3) 중 하나라도 존재하는 일치항목을 리턴
[0-9] : 0에서 9사이에 모든 숫자에 대해 일치하는 항목을 리턴
[0-5][0-9] : 00과 59 중 두자리 숫자에 대한 일치항목을 리턴
[a-z][A-z] : a와 z 사이 소문자 또는 대문자 사이의 알파벳순 문자에 대한 일치항목을 리턴한다
[+] : 집합에서 +, *, . , |, (), $, {} 특별한 의미가 없으므로 다음을 의미한다
.span()일치의 시작위치와 끝위치를 포함하는 튜플을 리턴,
.string() 함수에 전달된 문자열을 리턴
.group() 일치하는 문자열의 일부를 리턴
# span
i = re.search(r"\bX\w", txt)
print(i.span()) #12, 17
#String 전달된 문자열
o = re.search(r"\bX\w", txt)
print(o. string())
# group 대문자 s로 시작하는 단어
p = re.search(r"\bX\w", txt)
print(p. group()) #spain
'Python > Python Language' 카테고리의 다른 글
Numpy 배열(Array)에 대한 개념 설명 (0) | 2024.04.24 |
---|---|
람다(Lambda) : 익명 함수 개념 설명 (0) | 2024.04.24 |
파이썬 Datetime 포맷 가이드: strftime 코드 예시와 설명 (2) | 2024.04.24 |
SciPy(Scientific Python) Numpy를 기반으로 하는 과학 계산 라이브러리 (0) | 2024.04.16 |
데이터프레임(DataFrame)의 배열 조인(join)과 배열분할(split) (0) | 2024.04.09 |