match方法
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 None。语法格式如下:
re.match(pattern, string, flags=0)
函数参数说明如下表:
参数 | 描述 |
---|---|
pattern | 匹配的正则表达式 |
string | 要匹配的字符串 |
flags | 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等。如下列出正则表达式修饰符 - 可选标志 |
re.I | 使匹配对大小写不敏感 |
---|---|
re.L | 做本地化识别(locale-aware)匹配 |
re.M | 多行匹配,影响 ^ 和 $ |
re.S | 使 . 匹配包括换行在内的所有字符 |
re.U | 根据 Unicode 字符集解析字符。这个标志影响 \w, \W, \b, \B |
re.X | 该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。 |
匹配字符串是正则表达式中最常用的一类应用。也就是设定一个文本模式,然后判断另 外一个字符串是否符合这个文本模式。
如果文本模式只是一个普通的字符串,那么待匹配的字符串和文本模式字符串在完全相 等的情况下,match 方法会认为匹配成功。如果匹配成功,则 match 方法返回匹配的对象, 然后可以调用对象中的 group 方法获取匹配成功的字符串,如果文本模式就是一个普通的字 符串,那么 group 方法返回的就是文本模式字符串本身。
【示例】match方法的使用
import re
s = 'hello python'
pattern = 'hello'
v = re.match(pattern, s)
print(v)
print(v.group()) #返回匹配的字符
print(v.span()) #匹配到的字符范围
print(v.start()) #匹配到的字符开始位置
执行结果:
从上面代码可以看出,进行文本模式匹配时,只要待匹配的字符串开始部分可以匹配文本模式,就算匹配成功。
【示例】match方法中flag可选标志的使用
import re
s = 'hello python'
m = re.match('Hello', s, re.I) #忽略大小写
print(m)
print(m.group())
执行结果为: