이 글은 Python에 대한 관련 지식을 제공합니다. Python 정규 표현식이 중첩 일치를 구현하는 방법을 주로 소개합니다. 좋은 참고 가치가 있으므로 모두에게 도움이 되기를 바랍니다.
【관련 추천: Python3 동영상 튜토리얼】
import regex string = '100101010001' str_re = '101' print(regex.findall(str_re, string, overlapped=True))
일반적인 re 라이브러리 일치는 '101' 하나만 일치할 수 있습니다.
정규식은 제한된 수의 원자와 메타 문자로 구성된 데이터 필터링을 위한 표현으로 이해될 수 있습니다.
원자: 기본 단위, 각 표현에는 최소한 하나의 원자가 있습니다
일반 문자가 원자를 구성합니다. | |
---|---|
인쇄되지 않는 문자가 원자를 구성합니다 (인쇄되지 않은 문자는 원자를 구성합니다) 출력 스테이션) |
n 숫자 D: d의 반대 s: 공백, 줄 바꿈, 들여쓰기 등 모든 공백 문자와 일치 |
원자 테이블이 원자를 구성함 원자들의 그룹이 테이블을 구성합니다. []에 의해 선언테이블에 있는 원자의 우선순위는 같지만 내용은 순서대로만 나타납니다.원자 테이블이 ^로 시작하면 부정을 의미합니다 | |
정규 표현식에 특별한 의미가 있습니다 |
. 문자는 모든 문자와 일치합니다. 단, 개행 문자 |
은 문자열의 시작 위치와 일치합니다.
* | |
? | |
+ | |
{ j } | |
{ j , } | |
{ j , k } | |
i | j | |
( ) | |
는 함수에 있습니다. 플래그 위치의 매개변수는 정규 표현식을 변경하지 않고 의미를 변경하고 일치하는 결과를 조정합니다. . | |
re.I | 일치 시 대/소문자 무시 |
re.M다행 일치
re.U | |
re.S | |
정규식 일치 | |
정규 일치에 일반적으로 사용되는 함수: (정규식 모듈 re 호출) |
re.search(pat, str[, flag])
: 문자열 str을 스캔하고 위치를 반환합니다. pat(첫 번째 성공적인 일치), 플래그는 정규 표현식의 일치 방법을 제어하는 데 사용됩니다import re
str = 'python'
pat = 'pytho[a-n]'
print(re.search(pat, str))
re.match(pat, str[, flag])
: 시작 부분을 스캔합니다. string str Position, pat의 위치(첫 번째 성공적인 일치)를 반환, 플래그는 정규식의 일치 방법을 제어하는 데 사용됩니다. [처음에 일치하지 않으면 종료되고 없음을 반환합니다.]
import re str_1 = 'hello world' str_2 = 'world hello' pat = 'world' print(re.match(pat, str_1)) print(re.match(pat, str_2))
re.complie(pat [, flag]): 정규식 pat를 컴파일하고 정규식 객체
findall(str[, pos[, endpos]])
를 반환합니다. 모두 일치하고 문자열을 목록으로 반환 [처음뿐만 아니라] 일치하는 모든 하위 문자열에 대해 pos 및 endpos는 문자열re.complie(pat).findall(str)
에서 시작 위치를 지정할 수 있습니다. >: 전역 일치 함수, pat와 일치하는 str의 모든 하위 문자열 일치, 목록 로드 및 결과 반환
import re str = "hello world hello world hello world" pat = "hello" print(re.complie(pat).findall(str)) print(re.complie(pat).findall(str, 5, 15))
re.search(pat, str[, flag])
:扫描字符串str,返回pat的位置(第一次成功匹配的),flag用于控制正则表达式的匹配方式import re str = "400-823-823" pat = "-" #短横改空格,最大替换次数2 str_new = re.sub(pat, " ", str, count=2)
re.match(pat, str[, flag])
:扫描字符串str开始的位置,返回pat的位置(第一次成功匹配的),flag用于控制正则表达式的匹配方式【若开始就不符合则结束,返回none】re.complie(pat[, flag])
:编译正则表达式pat,返回正则表达式对象findall(str[, pos[, endpos]])
:匹配所有,用列表返回string中所有匹配到的子串【不止第一次】,pos和endpos可指定在string中的起始位置re.complie(pat).findall(str)
:全局匹配函数,匹配str中所有符合pat的子串,装入一个列表返回结果re.sub(pat, repl, str[, count[, flag]])
re.sub(pat, repl, str[, count[, flag]]) code>: 문자 교체 문자열 [clean data]에서 일치, count를 사용하여 최대 교체 수를 지정할 수 있습니다
[관련 권장 사항: Python3 비디오 튜토리얼]
위 내용은 Python 정규 표현식으로 중첩 일치를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!