기사 디렉토리
- 0, 서문
- 1, 정규식 패턴
- 2, 정규식 수정자 - 선택적 플래그
- 2.1, `re.IGNORECASE`(`re.I`)
- 2.2, `re.ASCII`(`re.A`)
- 2.3, `re.DOTALL`(`re.S`)
- 2.4, `re.MULTILINE`(`re.M` )
- 2.5 ,`re.verbose` (re. 3.1.1
- example 3.1.2 xexample 3.1.3
- 3.2. 여러 매치를 찾는 기능
-
- example 3.2.1
- 3.3. 분할.
- 예제 3.3.1
-
import re
- 0. 서문
이 노트는 초보자 튜토리얼과 Zhihu 튜토리얼을 기반으로 하며 내 자신의 학습 경험을 일부 포함합니다. - 1. 정규식 패턴
여기서는 좀 게을러서 직접 캡쳐한 사진입니다 초보자 튜토리얼 중.
2. 정규식 수정자 - 선택적 플래그
2.1. re.IGNORECASE
(re.I
)
섹션 1은 상수이지만
re.findall
함수는 이 섹션 전체에서 사용되는 함수이므로 먼저 간단히 언급해야 합니다.
re.findall(pattern, string, flag=0)
: 문자열의 아무 곳이나 검색하고 목록을 반환합니다. pattern
은 일치시킬 문자(문자열), string
은 검색 소스, flag
는 수정자, 기본값은 0
re .I의 기능은 문자의 대소문자를 무시하는 것입니다.
text = "I'm Jasmine-Feng. My student number is No. 321432"pattern = r"Jasmine-FENG"print('Default: ', re.findall(pattern,text))print('Ignore upper/lower case: ', re.findall(pattern,text,flags=re.I))N.B. 패턴에는
r 문자열
이 할당됩니다. 이 r 문자열의 기능은 이스케이프를 방지하는 것입니다. r은 그대로 유지한다는 뜻입니다. 이 블로그 게시물을 참조하세요. 일반적으로 이 r 문자열은 정규식을 사용할 때 사용됩니다.Default: []Ignore upper/lower case: ['Jasmine-Feng']Process finished with exit code 0기본적으로 대소문자를 구분하여 ENG를 찾을 수 없으며, 구분하지 않으면 eng을 찾을 수 있습니다.
2.2, re.ASCII
(re.A
)re.IGNORECASE
(re.I
)
虽然第1节是常量,但我们必须先简要提一下re.findall
这个函数,因为它是贯穿这一节的函数。re.findall(pattern, string, flag=0)
: 从字符串任意位置查找,返回一个列表。pattern
是欲匹配的字符(串),string
是查找源,flag
是修饰符,默认是0
re.I
的作用是忽略字符大小写
text = "我是Jasmine-Feng. 我的学号是No. 321432"pattern = r"\w+"print('Default: ', re.findall(pattern,text))print('ASCII: ', re.findall(pattern,text,flags=re.A))
N.B. pattern被赋了一个r字符串,这个r字符串的作用是避免转义,r是raw的缩写,也就是保持原样的意思。可看这篇博文。一般来说,使用正则表达式都会用到这个r字符串。
Default: ['我是Jasmine', 'Feng', '我的学号是No', '321432']ASCII: ['Jasmine', 'Feng', 'No', '321432']Process finished with exit code 0
在默认情况下,区分大小写,找不到ENG;若不区分,则可以找到eng。
2.2、re.ASCII
(re.A
)
re.A
的作用是只匹配ASCII码支持的字符,那么具体指哪些字符呢?下图来自百度百科。
汉字是不在这个里面的,所以如果修饰符是re.A
的话就匹配不了汉字了哈~
text = "我\t是Jasmine-F\neng. 我%的◉学号是No. 321432"pattern = r'.*'print('Default: ', re.findall(pattern,text))print('DOTALL: ', re.findall(pattern,text,re.S))
w+
的作用是匹配一个或多个字母数字下划线汉字
Default: ['我\t是Jasmine-F', '', 'eng. 我%的◉学号是No. 321432', '']DOTALL: ['我\t是Jasmine-F\neng. 我%的◉学号是No. 321432', '']Process finished with exit code 0
2.3、re.DOTALL
(re.S
)
在正则表达式模式中,.
是用来
text = "我\t是Jasmine-F\neng. 我%的◉\n学号是No. 321432"pattern = r'.$'pattern2 = r'^.'print('Default, end: ', re.findall(pattern, text))print('MULTILINE, end: ', re.findall(pattern, text, re.M))print('Default, start: ', re.findall(pattern2, text))print('MULTILINE, start: ', re.findall(pattern2, text, re.M))
.*
的作用是匹配长度至少为0的字符(串),emmm,好像是句废话?事实上,只要整段话不被换行符截断,就可以得到整个字符串(外加一个空字符串)。
Default, end: ['2']MULTILINE, end: ['F', '◉', '2']Default, start: ['我']MULTILINE, start: ['我', 'e', '学']Process finished with exit code 0
2.4、re.MULTILINE
(re.M
)
$
匹配定位到字符串末尾,^
定位到字符串开头,默认情况下,如果换行,是不能定位到新一行的行头/尾的,而用re.M
修饰则可以,也就是多行模式。
text = '朋友们好啊!我是xxxxxx拳掌门人xxx~'pattern = r'''朋友们 # 主语 好啊! # 谓语 '''print(re.findall(pattern, text,re.VERBOSE))
['朋友们好啊!']Process finished with exit code 0
2.5、re.VERBOSE
(re.X)
verbose是“详实的、冗长的”意思,通过该修饰符可以在正则表达式中加入注释。注意,是往pattern
里面加,不是往text
加!我一开始以为是可以往text
加注释,然后调试半天都得不到结果。。。
text = 'Hello everybody!\n我是xxxxxx拳掌门人xxx~'pattern = r'BODY.*$'print(re.findall(pattern, text, re.I))print(re.findall(pattern, text, re.M))print(re.findall(pattern, text, re.M | re.I))
[][]['body!']Process finished with exit code 0
2.6、修饰符的叠加
使用|
可以叠加修饰。
3、正则表达式函数
3.1、查找单个匹配项的函数
函数 | 功能 |
---|---|
search |
从任意位置开始搜索 |
match |
从开头搜索,不用完全匹配 |
fullmatch |
![]() | 한자는 포함되지 않습니다. 이므로 수식어가
🎜 2.3, re.DOTALL
(re.S
) 🎜🎜🎜정규 표현식 모드에서는 .
가 🎜rrreee🎜
.*
기능은 다음과 같습니다. 길이가 0 이상인 문자(문자열)를 일치시키세요. 음, 말도 안되는 것 같나요? 실제로 전체 단락이 개행 문자로 잘리지 않는 한 전체 문자열(및 빈 문자열)을 얻을 수 있습니다. 🎜rrreee🎜🎜2.4, re.MULTILINE
(re.M
)🎜🎜🎜$
는 문자열의 끝인 와 일치합니다. ^
문자열의 시작 위치를 찾습니다. 기본적으로 새 줄을 바꾸면 새 줄의 시작/끝을 찾을 수 없습니다. 그러나 re.M
을 사용할 수 있습니다. 이를 수정하려면 여러 줄 모드입니다. 🎜rrreeerrreee🎜🎜2.5, re.VERBOSE
(re. 텍스트
가 아닌 패턴
에 추가한다는 점에 유의하세요! 처음에는 text
에 주석을 추가할 수 있을 거라 생각했는데, 오랫동안 디버깅을 했더니 아무런 결과도 나오지 않았습니다. . . 🎜rrreeerrree🎜🎜2.6. 수정자의 중첩🎜🎜🎜수정사항을 중첩하려면 |
를 사용하세요. 🎜rrreeerrreee🎜🎜3. 정규 표현식 함수🎜🎜🎜🎜3.1. 단일 일치 항목을 찾는 함수🎜🎜
함수 | 함수 🎜 |
---|---|
위 내용은 Python 정규식에 대한 참고 사항의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Python은 데이터 과학, 웹 개발 및 자동화 작업에 적합한 반면 C는 시스템 프로그래밍, 게임 개발 및 임베디드 시스템에 적합합니다. Python은 단순성과 강력한 생태계로 유명하며 C는 고성능 및 기본 제어 기능으로 유명합니다.

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

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

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

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

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

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

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


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

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

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

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.
