Python3 正则表达式.pdf
Python3 正则表达式
Python3 正则表达式
正则表达式是⼀个特殊的字符序列,它能帮助你⽅便的检查⼀个字符串是否与某种模
式 配。
Python ⾃1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。
re 模块使 Python 语⾔拥有全部的正则表达式功能。
compile 函数根据⼀个模式字符串和可选的标志参数⽣成⼀个正则表达式对象。该对
象拥有⼀系列⽅法⽤于正则表达式 配和替换。
re 模块也提供了与这些⽅法功能完全⼀致的函数,这些函数使⽤⼀个模式字符串做为
它们的第⼀个参数。
本章节主要介绍Python 中常⽤的正则表达式处理函数。
re.match函数
re .match 尝试从字符串的起始位置 配⼀个模式,如果不是起始位置 配成功的话,
match()就返回none 。
函数语法:
re.match(pattern, string, flags=0)
函数参数说明:
参数 描述
pattern 配的正则表达式
string 要 配的字符串。
标志位,⽤于控制正则表达式的 配⽅式,如:是否区分
flags ⼤⼩写,多⾏ 配等等。
配成功re .match⽅法返回⼀个 配的对象,否则返回None 。
我们可以使⽤group(num) 或 groups() 配对象函数来获取 配表达式。
匹配对象⽅法 描述
配的整个表达式的字符串,group() 可以⼀次输⼊多个组
group(num=0) 号,在这种情况下它将返回⼀个包含那些组所对应值的元
组。
返回⼀个包含所有⼩组字符串的元组,从 1 到 所含的⼩组
groups() 号。
实例 1 :
# !/usr/bin/python
# -*- coding UTF-8 -*-
import re
print(re.match('www ', 'www .').span()) # 在起始位置匹配
print(re.match('com', 'www .')) # 不在起始位置匹配
以上实例运⾏输出结果为:
(0, 3)
None
实例 2 :
# !/usr/bin/python3
import re
line = "Cats are smarter than dogs"
matchObj = re.match( r'(.*) are (.*?) .*', line, re.M |re.I)
if matchObj
print ("matchObj.group() ", matchObj.group())
print ("matchObj.group(1) ", matchObj.group(1))
print ("matchObj.group(2) ", matchObj.group(2))
else
print ("No match!!")
以上实例执⾏结果如下:
matchObj.group() Cats are smarter than dogs
matchObj.group(1) Cats
matchObj.group(2) smarter
re.search⽅法
re .search 扫描整个字符串并返回第⼀个成功的 配。
函数语法:
re.search(pattern, string, flags=0)
函数参数说明:
参数 描述
pattern 配的正则表达式
string 要 配的字符串。
标志位,⽤于控制正则表达式的 配⽅式,如:是否区分
flags ⼤⼩写,多⾏ 配等等。
配成功re .s