正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。下面这篇文章主要介绍了关于Python正则表达式基础的相关资料,需要的朋友可以参考下。
前言
之前有人提了一个需求,我一看此需求用正则表达式最合适不过。考虑到之前每次使用正则表达式,都是临时抱佛脚,于是这次我就一边完成任务一边系统的学习了一遍正则表达式。主要参考PyCon2016上的一个视频Regular Expressions。
我将分几篇文章对正则表达式进行总结。
以下是第一部分,基础:
基础部分
这里总结了正则表达式最基础的用法,其中大部分内容对我(以及大部分程序员)来说都是平时经常用到的,所以我就一笔带过了,只对其中的几处用例子说明。
. 除了换行之外的其他所有字符
^ 行首
$ 行尾
[abcd] abcd其中的一个字符
[^abcd] 除了abcd之外的任意字符
[a-d] 相当于[abcd]
[a-dz] 相当于[abcdz]
\b 单词边界
\w 字母数字或下划线 相当于[a-zA-Z0-9_]
\W 与\w相反
\d 数字,相当于[0-9]
\D 与\d相反
\s 空白字符,相当于[ \t\n\r\f\v]
\S 与\s相反
{5} 在此之前的正则表达式部分(下同)准确的出现5次
{2,5} ~出现2到5次
{2,} ~出现2次或多次
{,5} ~出现0到5次
* ~出现0次或多次
? ~出现0次或1次
+ ~出现1次或多次
ABC|DEF 匹配ABC或者DEF
\ 转义字符,如\表示匹配*,\$表示匹配$*
\b、 \用以下几个例子简单说明一下:
\b:
>>> re.search(r'\bhello\b', 'hello') <_sre.SRE_Match object; span=(0, 5), match='hello'> >>> re.search(r'\bhello\b', 'hello world') <_sre.SRE_Match object; span=(0, 5), match='hello'> >>> re.search(r'\bhello\b', 'hello,world') <_sre.SRE_Match object; span=(0, 5), match='hello'> >>> re.search(r'\bhello\b', 'hello_world') >>>
其实这里,\b大体上和\W一支,但是\b可以匹配行首行尾等非显示类的字符,而\W不可以。
\:
>>> re.search(r'\$100', '$100') <_sre.SRE_Match object; span=(0, 4), match='$100'> >>> re.search(r'$100', '$100') >>>
想要匹配那些在正则表达式中有特殊含义的字符,如$、^、*等,就需要用\进行转义。
raw string:
另外,前面例子中,模式字符串(pattern)前面都加了一个r,这个r的意思是raw string,后面所接的字符串,Pyhton解释器无需对其进行转义。因为,\在Python字符串中和正则表达式中都有特殊含义,所以如果不是raw string,那么要表达一个\字符,就需要四个\了(在Python解释器中先转义一次,2个\表示1个\,剩下2个\,在正则表达式中又转义一次,最终剩下一个\)。例如:
>>> re.search(r'\bhello\b', 'hello') <_sre.SRE_Match object; span=(0, 5), match='hello'> >>> re.search('\bhello\b', 'hello') >>> re.search('\\bhello\\b', 'hello') <_sre.SRE_Match object; span=(0, 5), match='hello'> >>> re.search('\\\\hello\\\\', '\\hello\\') <_sre.SRE_Match object; span=(0, 7), match='\\hello\\'> >>> re.search(r'\\hello\\', '\\hello\\') <_sre.SRE_Match object; span=(0, 7), match='\\hello\\'> >>> print('\\hello\\') \hello\
【相关推荐】
1. Python免费视频教程
2. Python, 데이터 수집을 만나다 동영상 튜토리얼
위 내용은 Python 기본 정규식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

slicepaythonlistisdoneusingthesyntaxlist [start : step : step] .here'showitworks : 1) startistheindexofthefirstelementtoinclude.2) stopistheindexofthefirstelemement.3) stepisincrementbetwetweentractionsoftortionsoflists

NumpyAllowsForVariousOperationsOnArrays : 1) BasicArithmeticLikeadDition, Subtraction, A 및 Division; 2) AdvancedOperationsSuchasmatrixmultiplication; 3) extrayintondsfordatamanipulation; 5) Ag

Arraysinpython, 특히 Stroughnumpyandpandas, areestentialfordataanalysis, setingspeedandefficiency

ListSandnumpyArraysInpythonHavedifferentmoryfootPrints : ListSaremoreFlexibleButlessMemory-Efficer, whilumpyArraySareOptimizedFornumericalData.1) ListSTorERENFERENCESTOOBJECTS, OverHeadAround64ByTeson64-BitSyStems.2) NumpyArraysTATACONTACOTIGUOU

ToensurePythonScriptTscriptsBecorrectelyRossDevelopment, Staging and Production, UsethesEStrategies : 1) EnvironmberVariblesForsimplesettings, 2) ConfigurationFilesforcomplexSetups 및 3) DynamicLoadingForAdAptability

Python List 슬라이싱의 기본 구문은 목록 [start : stop : step]입니다. 1. Start는 첫 번째 요소 인덱스, 2.Stop은 첫 번째 요소 인덱스가 제외되고 3. Step은 요소 사이의 단계 크기를 결정합니다. 슬라이스는 데이터를 추출하는 데 사용될뿐만 아니라 목록을 수정하고 반전시키는 데 사용됩니다.

ListSoutPerformArraysin : 1) DynamicsizingandFrequentInsertions/Deletions, 2) StoringHeterogeneousData 및 3) MemoryEfficiencyForsParsEdata, butMayHavesLightPerformanceCosceperationOperations.

TOCONVERTAPYTHONARRAYTOALIST, USETHELIST () CONSTUCTORORAGENERATERATOREXPRESSION.1) importTheArrayModuleAndCreateAnarray.2) USELIST (ARR) 또는 [XFORXINARR] TOCONVERTITTOALIST.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

Dreamweaver Mac版
시각적 웹 개발 도구
