欢迎来到“只读课堂”!
正则
一些特殊符号及文本合在一起用来描述字符或字符串的一些规则,称为正则。
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]:
#这样就把它拿出来了。