正则表达式
又称规则表达式,Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为“元字符”),是计算机科学中的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。
正则表达式是对字符串(包括普通字符(例如,a到z之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符以及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
re模块使得python拥有了正则表达式的功能。
其中compile函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象,该对象拥有一系列的方法用于正则表达式的匹配和替换
match函数
只从字符串的最开始与pattern进行匹配,下面是函数的语法 :
re.match(pattern, string, flags = 0)
pattern - 这是要匹配的正则表达式。
string - 这是字符串,它将被搜索用于匹配字符串开头的模式。
flags - 可以使用按位OR(|)指定不同的标志。这些是修饰符,如下表所列。
re.match 函数在成功时返回匹配对象,失败时返回None。使用match(num)或groups()函数匹配对象来获取匹配的表达式。
用group返回匹配对象
import re
data='Python is a good P'
result1=re.match('P',data)#匹配一个存在的字母,返回P
result2=re.match('y',data)#存在一个存在的字母,返回Nontype,说明match值匹配的只有第一个字母
print(result1.group())
print(result2.group())
group(num)可以获取匹配的数据,如果有多个的话,会将所有的匹配值放入元组中,num表示访问第几个匹配值