이 기사는 Python 정규식과 re 라이브러리에 대한 소개(코드 예제)를 제공합니다. 이는 특정 참조 가치가 있으므로 도움이 될 수 있습니다.
정규식은 검색 패턴을 정의하는 문자 시퀀스입니다. 일반적으로 이 패턴은 문자열에 대한 "찾기" 또는 "찾기 및 바꾸기" 작업이나 입력 유효성 검사를 위한 문자열 검색 알고리즘에서 사용됩니다.
1. 정규 표현식의 구문
. 단일 문자
[] 문자 집합을 나타내며, 단일 문자
[^] 비문자 집합에 대한 값을 제공합니다. 단일 문자의 문자는 제외 범위를 부여합니다
*이전 문자는 0배 또는 무한히 확장됩니다
+이전 문자는 1배 또는 무한히 확장됩니다
?이전 문자는 0배 또는 1배 확장됩니다 time
-
|왼쪽 및 오른쪽 표현식 중 하나
{m}는 이전 문자를 m번 확장합니다.
{m,n}은 이전 문자를 m에서 n번으로 확장합니다.
^과 일치합니다. 문자열의 시작
$는 문자열
() 그룹화 표시의 끝과 일치합니다. 내부적으로 | 연산자만 사용할 수 있습니다.
d 숫자, [0-9]
-
w 단어 문자, [A-Z, a-z,0-9]
2. Python에서 re 라이브러리 사용
Re 라이브러리는 주로 문자열 일치, 호출 방법에 사용되는 Python의 표준 라이브러리입니다. import re
2.1 정규식 문자 문자열 유형
re 라이브러리는 원시 문자열 유형을 사용하여 정규식을 표현하며, 이는
r'text'
로 표현됩니다. 원시 문자열은 다시 이스케이프 문자를 포함하지 않는 문자열입니다. 간단히 말해서 문자열은 문자를 이스케이프하지만 원시 문자열은 정규 표현식에 나타나기 때문에 지루함을 피하기 위해 원시 문자열
2.2을 사용합니다. Re 라이브러리
re. search()는 문자열에서 정규식의 첫 번째 위치를 검색하고 일치 개체를 반환합니다
re.match() 문자열의 시작 부분부터 정규식을 일치시키고 일치 개체를 반환합니다
-
re .findall()문자열을 검색하고 일치하는 모든 하위 문자열을 목록 유형으로 반환
re.split()정규식 일치 결과에 따라 문자열을 분할하고 목록 유형을 반환
re.finditer()문자열을 검색하고 일치하는 결과의 반복 유형을 반환합니다. 각 반복 요소는 일치 개체입니다
re.sub()문자열에서 정규식과 일치하는 모든 하위 항목을 바꿉니다. 대체된 문자열을 반환합니다
2.2.1. re.search(pattern, string, flags=0)
문자열에서 정규 표현식의 첫 번째 위치를 검색하고 일치 개체를 반환합니다
pattern: 문자열 또는 정규식의 기본 문자열 표현
string: 일치시킬 문자열
flags: 정규식을 사용할 때의 제어 플래그
re.IGNORECASE 무시 정규식의 대소문자 , [A‐Z]는 소문자와 일치할 수 있습니다.
re.M re.MULTILINE 정규 표현식의 ^ 연산자는 주어진 문자열의 각 줄을 일치 항목으로 시작할 수 있습니다.
-
re.S re.DOTALL . 정규식은 모든 문자와 일치할 수 있으며 기본적으로 개행 문자를 제외한 모든 문자와 일치합니다.
매개변수는 검색 함수와 동일합니다 예:
import re match = re.search(r'[1-9]\d{5}', 'BIT 100081') if match: print(match.group(0)) 结果为100081
2.2.3.re.findall(pattern, string, flags=0)
문자열을 검색하고 일치하는 모든 항목을 반환합니다. 목록 유형의 하위 문자열
매개변수는 검색과 동일예:
import re match = re.match(r'[1-9]\d{5}', 'BIT 100081') print(match.group(0)) 结果会报错,match为空,因为match函数是 从字符串开始位置开始匹配,因为从开始位置没有匹配到,所以为空
2.2.4.re.split(pattern, string, maxsplit=0, flags=0)
Change a 문자열은 일반 규칙에 따라 분할됩니다. 표현식 일치 결과 및 반환되는 목록 유형은 maxsplit: 최대 분할 수이며 나머지 부분은 마지막 요소로 출력됩니다. maxsplit=0, flags=0)
문자열을 검색하여 일치하는 반복 유형을 반환합니다. 결과. 각 반복 요소는 일치 개체입니다.
매개 변수는 search
예:
import re ls=re.findall(r'[1-9]\d{5}', 'BIT100081 TSU100084') print(ls) 结果为['100081', '100084']
2.2.6과 동일합니다. re.sub(pattern, repl, string, count=0, flags=0)
모든 하위 문자열 바꾸기 문자열에서 정규식을 일치시키고 대체된 문자열을 반환
-
repl: 문자열과 일치하는 문자열을 대체
count: 일치하는 대체의 최대 수
예:
import re re.split(r'[1-9]\d{5}', 'BIT100081 TSU100084') 结果['BIT', ' TSU', ' '] re.split(r'[1-9]\d{5}', 'BIT100081 TSU100084', maxsplit=1) 结果['BIT', ' TSU100081']
2.3 또 다른 동등한 사용법 Re 라이브러리(객체 지향)
import re for m in re.finditer(r'[1-9]\d{5}', 'BIT100081 TSU100084'): if m: print(m.group(0)) 结果为 100081 100084
import re re.sub(r'[1-9]\d{5}', ':zipcode', 'BIT100081 TSU100084') 结果为 'BIT:zipcode TSU:zipcode'
regex=re.complie(pattern, flags=0)
Regex에는 위의 6가지 용도도 있습니다2.4 Re 라이브러리의 일치 객체- Match 객체는 일치의 결과이며 일치하는 정보가 많이 포함되어 있습니다
- 다음은 일치 개체의 속성입니다
.re 일치할 때 사용되는 패턴 개체(정규 표현식)
.pos 정규식 검색 텍스트의 시작 위치
.endpos 정규식 검색 텍스트의 끝 위치 #🎜 🎜#
다음은 Match 개체의 메서드입니다
# 🎜🎜##🎜 🎜#.group(0) 일치하는 문자열 가져오기- .start() 원래 문자열의 시작 부분에서 문자열 일치 #🎜🎜 #
.end()는 원래 문자열의 끝에 있는 문자열과 일치합니다.
.span()은 (.start를 반환합니다. (), .end())
2.5 Re 라이브러리의 그리디 매칭 및 최소 매칭
정규식이 다음과 같은 여러 항목과 일치할 수 있는 경우 길이가 다른 경우 어떤 것을 반환해야 합니까? Re 라이브러리는 기본적으로 탐욕스러운 일치를 사용합니다. 즉, 가장 긴 일치 하위 문자열
최소 일치
#🎜🎜을 반환합니다. ## 🎜🎜#*? 이전 문자가 0번 또는 무한히 확장됩니다. 최소 일치
- +? 무한히, 최소 일치
- ?? 이전 문자가 0 또는 1번 확장되고, 최소 일치는
- #입니다. 🎜🎜#{m, n}? 이전 문자 m을 n번(n 포함)으로 확장합니다. 최소 일치 항목은
- 입니다. 길이 출력이 다를 수 있으므로 기호 뒤에 ? 연산을 사용하면 최소 일치가 됩니다.
위 내용은 Python 정규식 및 re 라이브러리 소개(코드 예제)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Pythonusesahybridmodelofilationandlostretation : 1) ThePyThoninterPretreCeterCompileSsourcodeIntOplatform-IndependentBecode.

Pythonisbothingretedandcompiled.1) 1) it 'scompiledtobytecodeforportabilityacrossplatforms.2) thebytecodeisthentenningreted, withfordiNamictyTeNgreted, WhithItmayBowerShiledlanguges.

forloopsareusedwhendumberofitessiskNowninadvance, whilewhiloopsareusedwhentheationsdepernationsorarrays.2) whiloopsureatableforscenarioScontiLaspecOndCond

pythonisnotpurelynlogreted; itusesahybrideprophorfbyodecodecompilationandruntime -INGRETATION.1) pythoncompilessourcecodeintobytecode, thepythonVirtualMachine (pvm)

ToconcatenatelistsinpythonwithesameElements, 사용 : 1) OperatorTokeEpduplicates, 2) asettoremovedUplicates, or3) listComperensionForControlOverDuplicates, 각 methodHasDifferentPerferformanCeanDorderImpestications.

PythonisancerpretedLanguage, 비판적 요소를 제시하는 PytherfaceLockelimitationsIncriticalApplications.1) 해석 된 언어와 같은 thePeedBackandbackandrapidProtoTyping.2) CompilledlanguagesLikec/C transformt 해석

useforloopswhhenmerfiterationsiskNownInAdvance 및 WhileLoopSweHeniTesslationsDepoyConditionismet whilEroopsSuitsCenarioswhereTheLoopScenarioswhereTheLoopScenarioswhereTheLoopScenarioswhereTherInatismet, 유용한 광고 인 푸트 gorit


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

드림위버 CS6
시각적 웹 개발 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는