Bootstrap

Python初级第8课——正则(只读课堂)

欢迎来到“只读课堂”!

正则

一些特殊符号及文本合在一起用来描述字符或字符串的一些规则,称为正则。

Python中,正则使用re模块,该模块为Python发行版本中自带的模块,不需要安装。

特殊符号和字符

In [1]:

#假如我们有一天要匹配abc:

In [2]:

# abc : abc

In [3]:

#还有一种写法:

In [4]:

# a[a-z]c : abc aac adc afc agc acc

In [5]:

#中括号里表示的是范围。

匹配一个范围[]:[A-Z0-9]

In [6]:

#来个最简单的例子:

In [7]:

# a[0-9]c : a0c a1c a2c

In [8]:

# a* : '' a aaaaaaaaa |

匹配前面出现的正则表达式任意多次,包含0次: [abc]

In [9]:

#不光能匹配这些

In [10]:

# a? : '' a

In [11]:

#它可以来设定匹配的东西。

In [12]:

# a+ 就不可以匹配空(0)

In [13]:

#点可以用来匹配任意字符

In [14]:

# a.b : a;b a?b a!b acb alb

In [15]:

#除了\n,其它它都可以匹配。

\d:匹配任何数字

\s:任何空白符 \n\t\r\v\f

\w:匹配任何数字、字母、字符 == [A-Za-z0-9]

In [16]:

# a[^abc]c : a1c a2c

In [17]:

#它的意思是说只要在^后面出现的括号内的字符,都自动忽略

In [18]:

# $符

In [19]:

# 只要字符串结尾是a,就可以:

In [21]:

# a$ : zxcsadjka

re模块(一)

re . compile ( pattern ) :编译正则表达式

匹配 match 从字符串的开头进行匹配

搜索 search 从字符串的任意部位开始匹配

re . match ( pattern , string ) :尝试用正则表达式模式 pattern 匹配字符串 string ; 匹配成功,则返回一个匹配对象,否则返回 None ; 成功时可以使用结果的 group 函数获取匹配到的值

re . search 《 Pattern , Strin 目:返回字符串中正则表达式 pattem 的第一次出现

In [22]:

#我们刚刚本来是用肉眼来看分段的文字的,但是这个模块可以自动识别。

In [23]:

import re

In [32]:

regex = re.compile('^a')

In [33]:

re.match(regex,'abcdefg')

Out[33]:

<_sre.SRE_Match object; span=(0, 1), match='a'>

In [34]:

#如果匹配,就会返回上面这个值。

In [35]:

re.match(regex,'babcdefg')

In [36]:

#如果不匹配,就什么都不返回。

In [37]:

res = re.match(regex,'abcdefg')

In [38]:

res

Out[38]:

<_sre.SRE_Match object; span=(0, 1), match='a'>

In [39]:

res.group()

Out[39]:

'a'

In [40]:

#这样就把它拿出来了。

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;