찾다
백엔드 개발파이썬 튜토리얼Python의 re 모듈 및 정규식 소개(코드 포함)

이 글은 Python의 re 모듈과 정규 표현식(코드 포함)에 대한 소개를 제공합니다. 이는 특정 참조 가치가 있으므로 도움이 필요한 친구에게 도움이 되기를 바랍니다.

정규 표현식(영어: 정규 표현식, 코드에서 종종 regex, regexp 또는 RE로 약칭됨)은 정규 표현식, 정규 표현식, 정규 표현식, 정규 표현식, 정규 표기법이라고도 알려져 있으며 컴퓨터 과학 개념의 용어입니다. 정규식은 단일 문자열을 사용하여 특정 구문 규칙과 일치하는 일련의 문자열을 설명하고 일치시킵니다. 많은 텍스트 편집기에서는 특정 패턴과 일치하는 텍스트를 검색하고 바꾸는 데 정규식을 사용하는 경우가 많습니다. RERGULAL 표현 규칙, 단일 문자 일치

character.
Function Rephere example 매치 일치 예
B .B .B .B .B .B .B. bab,b2b
[ ] 은 []에 설정된 문자 집합의 모든 문자와 일치합니다. i [abCde]m i ​​​​am
d 은 모든 10진수와 일치하며 [ 0 -9] 일관성 wdcschool w3cschool
D 은 숫자가 아닌 문자와 일치합니다. 즉, 숫자가 아닌 mouDh mouth
s 은 모든 공백 문자와 일치합니다. [ntrvf]와 동일 islike i like
S 는 공백이 아닌 모든 문자와 일치하지만 s nSe noe,n3e
w 은 모든 영숫자 문자와 일치합니다. Za-z0-9_ ]동일 [A-Za-z]w+
W 은 단어가 아닌 문자와 일치 [0-9]W[A-Z] 3 A

수량 일치를 의미합니다

문자를 일치시키기 전 1번 또는 0번 나타납니다. 한 번이든 아니든 a?{m}은 이전 문자와 m번 나타납니다. [0-9] {5}{m.}이전 문자가 m번 이상 나타나는 것과 일치합니다a{5.}{m, n} 이전 항목과 일치 m에서 n번까지 나타나는 문자 a{2,6}함수.*Bver
Character Function 정규 표현식 예시 일치 예시
* 이전 정규 표현식과 0회 이상 일치 , 선택사항 a* ㅋㅋㅋ
a 또는 b

12345

aaaaa

aaa
은 경계 일치를 나타냅니다.
문자
정규 표현식 예 Theb B 단어가 아닌 경계와 일치

그룹화 일치charactersfunction(ab)괄호 안의 문자를 그룹으로 처리합니다그룹 num(?P) 별칭 그룹화
왼쪽이나 오른쪽의 어떤 표현과도 일치하세요
num

re 모듈파이썬에서는 내장된 re 모듈 정규식을 사용하려면re 모듈 공통 함수 및 메서드핵심 함수 설명compile(pattern, flags=0)
(?P=name) 별칭 이름 그룹과 일치하는 문자열 인용하기


옵션 플래그를 사용하여 정규식 패턴을 컴파일합니다. 그런 다음 정규식 개체를 반환합니다
re 모듈 함수 및 정규식 개체 메서드 설명
match(pattern,string,flags=0) 정규식 패턴을 선택적 플래그 문자열과 일치시키려고 시도합니다. 일치가 성공하면 일치 개체를 반환하고, 실패하면 None을 반환합니다.
search(pattern,string,flags=0) 선택적 마커를 사용하여 문자열에서 정규식 패턴이 처음 나타나는 것을 검색합니다. . 일치에 성공하면 일치하는 개체가 반환되고, 실패하면 None이 반환됩니다.
findall(pattern,string,[,flags]) 문자열에서 정규식의 모든 항목을 찾아 목록을 반환합니다.
split(pattern, string, max=0) split 함수는 정규식의 패턴 구분 기호에 따라 문자열을 목록으로 분할한 다음 성공적으로 일치하는 목록을 반환할 수 있습니다. 최대 횟수 수행(기본값은 성공적으로 일치하는 모든 항목을 분할하는 것임) 위치)
sub(pattern,repl,string,count=0) repl을 사용하여 문자열에서 정규식 패턴의 모든 항목을 바꾸십시오. 개수가 정의되면 모든 항목이 대체됩니다
일반적으로 사용되는 일치 개체 메서드 Explanation
group(num=0) Default는 전체 일치 개체를 반환하거나 특정 하위 그룹을 반환합니다. 번호가 매겨진 num
groups(기본값 =None) 일치하는 모든 하위 그룹을 포함하는 튜플을 반환합니다. 일치하는 항목이 없으면 빈 튜플을 반환합니다.
span()
정규식 개체(예: match())에서 제공하는 일련의 메서드를 통해 텍스트에 대해 일치하는 검색을 수행하고 일치하는 결과를 가져오는 Match 개체 ;
자주 사용하는 모듈 속성, 대형 정규 표현식 함수를 수정하는 데 주로 사용됩니다. Explanation
re.I 대소문자를 구분하지 않도록 설정합니다(대소문자 무시)
re.S .(점) n을 제외한 모든 문자와 일치합니다. re.S 표시는 유니코드 문자에 따라 ^ 및 $
re.U 에 영향을 미치는 모든 문자
re.M 와 일치할 수 있음을 나타냅니다. 구문 분석 문자를 설정합니다. w, W, b 및 B
re에 영향을 줍니다. 정규식의 문자열 형식을 정규식 개체로 컴파일하려면 compile() 함수를 사용하세요.
마지막으로 Match 개체를 사용합니다. 제공된 속성과 메서드(예: group())를 사용하여 정보를 얻고 다음과 같은 다른 작업을 수행합니다. 필요합니다.

re 모듈 사용 예
  1. 모듈 가져오기

    import re
    compile() 函数将正则表达式的字符串形式编译为一个正则表达式对象;
  2. 通过正则表达式对象提供的一系列方法(如:match())对文本进行匹配查找,获得匹配结果,一个Match对象;

  3. 最后使用Match对象提供的属性和方法(例如:group())获得信息,根据需要进行其他的操作。

re模块使用示例

导入模块

import re

# 将正则表达式编译成pattern对象
pattern = re.compile(r'\d+')

compile()函数
compile 函数用于编译正则表达式,生成一个 Pattern 对象,它的一般使用形式如下:

match(string[, pos[, endpos]])

编译成正则表达式对象后,就可以使用上面所说的正则表达式对象方法了。

match()方法
match 方法用于查找字符串的头部(也可以指定起始位置),它是一次匹配,只要找到了一个匹配的结果就返回,而不是查找所有匹配的结果。它的一般使用形式如下:

>>> import re
>>> 
>>> pattern = re.compile(r'\d+') # 正则表达式表示匹配至少一个数字
>>> 
>>> m = pattern.match("one2three4") # match默认从开头开始匹配,开头是字母o,所以没有匹配成功
>>> print(m) # 匹配失败返回None
None
>>> 
>>> m = pattern.match("1two3four") # 开头字符是数字,匹配成功
>>> print(m)
<_sre.sre_match>
>>> 
>>> m.group() # group()方法获取匹配成功的字符
'1'
>>> m = pattern.match("onetwo3four56",6,12) # 指定match从数字3开始查找,第一个是数字3,匹配成功
>>> print(m)
<_sre.sre_match>
>>> m.group()
'3'</_sre.sre_match></_sre.sre_match>

其中,string是待匹配的字符串,pos 和 endpos 是可选参数,指定字符串的起始终点位置,默认值分别是 0 和 lencompile()함수

compile 함수는 사용 정규식을 컴파일하면 패턴 개체가 생성됩니다. 일반적인 사용 형태는 다음과 같습니다.

rrreee

정규식 개체로 컴파일한 후 위에서 언급한 정규식 개체 방법을 사용할 수 있습니다.

match() 메서드🎜 match 메서드는 문자열의 선두를 찾는 데 사용되며(시작 위치도 지정할 수 있음) 한 번 일치, 일치하는 결과가 발견되면 일치하는 모든 결과를 검색하는 대신 반환됩니다. 일반적인 사용 형식은 다음과 같습니다. 🎜rrreee🎜여기서 string은 일치시킬 문자열이고 pos 및 endpos는 문자열의 <code>startend를 지정하는 선택적 매개변수입니다. 위치, 기본값은 각각 0과 len(문자열 길이)입니다. 따라서 pos 및 endpos를 지정하지 않으면 일치 방법은 기본적으로 문자열의 헤드를 일치시키는 것으로 설정됩니다. 🎜🎜일치에 성공하면 Match 개체가 반환됩니다. 일치하는 항목이 없으면 None이 반환됩니다. 🎜rreee🎜🎜

위 내용은 Python의 re 모듈 및 정규식 소개(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 segmentfault에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
2 시간의 파이썬 계획 : 현실적인 접근2 시간의 파이썬 계획 : 현실적인 접근Apr 11, 2025 am 12:04 AM

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

파이썬 : 기본 응용 프로그램 탐색파이썬 : 기본 응용 프로그램 탐색Apr 10, 2025 am 09:41 AM

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 ​​같은 작업에 적합합니다.

2 시간 안에 얼마나 많은 파이썬을 배울 수 있습니까?2 시간 안에 얼마나 많은 파이썬을 배울 수 있습니까?Apr 09, 2025 pm 04:33 PM

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

10 시간 이내에 프로젝트 및 문제 중심 방법에서 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법?10 시간 이내에 프로젝트 및 문제 중심 방법에서 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법?Apr 02, 2025 am 07:18 AM

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

중간 독서를 위해 Fiddler를 사용할 때 브라우저에서 감지되는 것을 피하는 방법은 무엇입니까?중간 독서를 위해 Fiddler를 사용할 때 브라우저에서 감지되는 것을 피하는 방법은 무엇입니까?Apr 02, 2025 am 07:15 AM

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Python 3.6에 피클 파일을로드 할 때 '__builtin__'모듈을 찾을 수없는 경우 어떻게해야합니까?Python 3.6에 피클 파일을로드 할 때 '__builtin__'모듈을 찾을 수없는 경우 어떻게해야합니까?Apr 02, 2025 am 07:12 AM

Python 3.6에 피클 파일로드 3.6 환경 보고서 오류 : modulenotfounderror : nomodulename ...

경치 좋은 스팟 코멘트 분석에서 Jieba Word 세분화의 정확성을 향상시키는 방법은 무엇입니까?경치 좋은 스팟 코멘트 분석에서 Jieba Word 세분화의 정확성을 향상시키는 방법은 무엇입니까?Apr 02, 2025 am 07:09 AM

경치 좋은 스팟 댓글 분석에서 Jieba Word 세분화 문제를 해결하는 방법은 무엇입니까? 경치가 좋은 스팟 댓글 및 분석을 수행 할 때 종종 Jieba Word 세분화 도구를 사용하여 텍스트를 처리합니다 ...

정규 표현식을 사용하여 첫 번째 닫힌 태그와 정지와 일치하는 방법은 무엇입니까?정규 표현식을 사용하여 첫 번째 닫힌 태그와 정지와 일치하는 방법은 무엇입니까?Apr 02, 2025 am 07:06 AM

정규 표현식을 사용하여 첫 번째 닫힌 태그와 정지와 일치하는 방법은 무엇입니까? HTML 또는 기타 마크 업 언어를 다룰 때는 정규 표현식이 종종 필요합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음