单次检索
单次检索就是在指定的文本中,用正则表达式查询是否有匹配的文本,并返回第一个结果
1、检索第一个结果
也就是说文本中包含至少一个正则表达式要求的内容
使用Python中,re库里的search()方法
2、开头检索
match()方法只检查文本开头,如果文本不符合正则表达式,则匹配失败。
re.match(regex,text)
也是只有一个返回结果
3、检索结果对象
无论是match()还是search(),都会返回结果对象,而调用结果对象的group()方法取得匹配的内容。
索引方法
1、起始位置
调用检索返回结果对象的start()方法
matchObj.end()
文本从左到右,左侧从1开始计算位置,取得第一个匹配结果的末字符的位置
2、结束位置
调用检索返回结果对象的end()方法
文本从左到右,左侧从1开始计算位置,取得第一个匹配结果的末字符位置
3、起始及结束位置
调用检索返回对象的span()方法,返回元组包含起始和结束位置两个数据
例子展示
import re
text = "good dog dog"
regex = r'dog'
matchObj = re.search(regex, text)
if matchObj:
print("start=" + str(matchObj.start()))
print("end=" + str(matchObj.end()))
print("start,end=" + str(matchObj.span()))
else:
print("No match!!")
结果为:
start=5
end=8
start,end=(5, 8)