python 中 re.match 和 re.search用法
Posted 小鲨鱼2018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 中 re.match 和 re.search用法相关的知识,希望对你有一定的参考价值。
001、re.match
>>> re.match("ab", "abcdefgab") ## 在字符串abcdefgab中查找字符串ab, 返回索引 <re.Match object; span=(0, 2), match=\'ab\'> >>> re.match("xy", "abcdefgab") ## 如果查找字符串不存在,返回none >>> re.match("cd", "abcdefgab") ## 如果查找字符串不在开头,返回none
>>> re.match(r"ab", "abcdefgab") ## 字符r表示原始字符串,不对特殊字符进行转义 <re.Match object; span=(0, 2), match=\'ab\'> >>> re.match(r"xy", "abcdefgab")
002、re.search
>>> re.search("ab", "abcdefgab") ## 在字符串abcdefgab中查找字符串ab <re.Match object; span=(0, 2), match=\'ab\'> >>> re.search("xy", "abcdefgab") ## 查找的字符串不存在, 返回none >>> re.search("ab", "cdefgab") ## 查找的字符串不在开头,也返回索引 <re.Match object; span=(5, 7), match=\'ab\'>
Python RE模块中search和match的区别
参考技术A 这是正则表达式里面的函数:1.
match()函数只检测re是不是在string的开始位置匹配,search()会扫描整个string查找匹配;
2.
也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none。
3.
例如:
print(re.match('super',
'superstition').span())
会返回(0,
5)
而print(re.match('super',
'insuperable'))
则返回none
4.
search()会扫描整个字符串并返回第一个成功的匹配:
例如:print(re.search('super',
'superstition').span())返回(0,
5)
print(re.search('super',
'insuperable').span())返回(2,
7)
5.
其中span函数定义如下,返回位置信息:
span([group]):
返回(start(group),
end(group))。 参考技术B 一、解释:
match()函数只检测RE是不是在string的开始位置匹配
search()会扫描整个string查找匹配,会扫描整个字符串并返回第一个成功的匹配
也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none
二、例子:
match():
print(re.match(‘super’,
‘superstition’).span())会返回(0,
5)
print(re.match(‘super’,
‘insuperable’))则返回None
search():
print(re.search(‘super’,
‘superstition’).span())返回(0,
5)
print(re.search(‘super’,
‘insuperable’).span())返回(2,
7)
以上是关于python 中 re.match 和 re.search用法的主要内容,如果未能解决你的问题,请参考以下文章
python 中 re.match 和 re.search用法