用python中re.match匹配为啥一直是None?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用python中re.match匹配为啥一直是None?相关的知识,希望对你有一定的参考价值。

参考技术A re.match
尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
re.search
扫描整个字符串并返回第一个成功的匹配。
re.findall
在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
所以如果你要匹配的字符不是在字符串的起始位置,应该用search函数,
如果你要返回字符串中所有的匹配,应该用findall函数,因为match和search都匹配一次.
所以你的程序应该这么写
import re
print(re.search('/(index|view)/','/places/default/user/register?_next=/places/default/view/1').group(0))

以上是关于用python中re.match匹配为啥一直是None?的主要内容,如果未能解决你的问题,请参考以下文章

Python: 字符串搜索和匹配,re.compile() 编译正则表达式字符串,然后使用match() , findall() 或者finditer() 等方法

Python常用的正则表达式处理函数详解

正则表达式.+可以匹配空格,但是[.\w]+却不匹配,为啥?

python re模块常见函数

Python RE模块中search和match的区别

Python中re.match与re.search的使用方法详解