最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python基础篇之正则表达式

来源:动视网 责编:小采 时间:2020-11-27 14:24:26
文档

Python基础篇之正则表达式

Python基础篇之正则表达式:正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。下面这篇文章主要介绍了关于Python正则表达式基础的相关资料,需要的朋友可以参考下。前
推荐度:
导读Python基础篇之正则表达式:正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。下面这篇文章主要介绍了关于Python正则表达式基础的相关资料,需要的朋友可以参考下。前


正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。下面这篇文章主要介绍了关于Python正则表达式基础的相关资料,需要的朋友可以参考下。

前言

之前有人提了一个需求,我一看此需求用正则表达式最合适不过。考虑到之前每次使用正则表达式,都是临时抱佛脚,于是这次我就一边完成任务一边系统的学习了一遍正则表达式。主要参考PyCon2016上的一个视频Regular Expressions。

我将分几篇文章对正则表达式进行总结。

以下是第一部分,基础:

基础部分

这里总结了正则表达式最基础的用法,其中大部分内容对我(以及大部分程序员)来说都是平时经常用到的,所以我就一笔带过了,只对其中的几处用例子说明。

. 除了换行之外的其他所有字符

^ 行首

$ 行尾

[abcd] abcd其中的一个字符

[^abcd] 除了abcd之外的任意字符

[a-d] 相当于[abcd]

[a-dz] 相当于[abcdz]

 单词边界

w 字母数字或下划线 相当于[a-zA-Z0-9_]

W 与w相反

d 数字,相当于[0-9]

D 与d相反

s 空白字符,相当于[ fv]

S 与s相反

{5} 在此之前的正则表达式部分(下同)准确的出现5次

{2,5} ~出现2到5次

{2,} ~出现2次或多次

{,5} ~出现0到5次

* ~出现0次或多次

? ~出现0次或1次

+ ~出现1次或多次

ABC|DEF 匹配ABC或者DEF

转义字符,如表示匹配*,$表示匹配$*

、 用以下几个例子简单说明一下:

:

>>> re.search(r'hello', 'hello')
<_sre.SRE_Match object; span=(0, 5), match='hello'>
>>> re.search(r'hello', 'hello world')
<_sre.SRE_Match object; span=(0, 5), match='hello'>
>>> re.search(r'hello', 'hello,world')
<_sre.SRE_Match object; span=(0, 5), match='hello'>
>>> re.search(r'hello', 'hello_world') 
>>>

其实这里,大体上和W一支,但是可以匹配行首行尾等非显示类的字符,而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'hello', 'hello')
<_sre.SRE_Match object; span=(0, 5), match='hello'>
>>> re.search('hello', '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遇见数据采集视频教程

3. Python学习手册

文档

Python基础篇之正则表达式

Python基础篇之正则表达式:正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。下面这篇文章主要介绍了关于Python正则表达式基础的相关资料,需要的朋友可以参考下。前
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top