python 正则表达式中 re.match 如果在模式后面加上$符号,和re.searc
python正则表达式中re.match如果在模式后面加上$符号,和re.search有什么区别?两个都是对所有字符进行匹配吧。请大神解惑。!!谢谢。...
python 正则表达式中 re.match 如果在模式后面加上$符号,和re.search 有什么区别?两个都是对所有字符进行匹配吧。 请大神解惑。!!谢谢。
展开
2个回答
展开全部
re.match是从字符串开头进行匹配,re.search可以在字符串任何位置匹配
import re
find=re.match(r"world$","hello world")
print(find)
没有匹配,结果是None
find=re.search(r"world$","hello world")
print(find)
匹配,返回一个MatchObject对象
import re
find=re.match(r"world$","hello world")
print(find)
没有匹配,结果是None
find=re.search(r"world$","hello world")
print(find)
匹配,返回一个MatchObject对象
更多追问追答
追问
如果加上美元符号不是会对所有内容进行匹配吗?
追答
$表示字符串的结尾,所以加上$表示匹配的内容必须在字符串的结尾
匹配整个字符串还要加上字符串开始标记^
re.match("^hello world$","hello world")
re.search("^hello world$","hello world")
这样是一样的
如果使用re.M,那么^表示行首,$表示行尾
re.match("^hello world$","""this is first line
hello world""",re.M)
re.search("^hello world$","""this is first line
hello world""",re.M)
象上面这样,由于re.match是从字符串开头匹配,还是区配不到第二行的hello world
引用albumin的回答:
re.match是从字符串开头进行匹配,re.search可以在字符串任何位置匹配
import re
find=re.match(r"world$","hello world")
print(find)
没有匹配,结果是None
find=re.search(r"world$","hello world")
print(find)
匹配,返回一个MatchObject对象
re.match是从字符串开头进行匹配,re.search可以在字符串任何位置匹配
import re
find=re.match(r"world$","hello world")
print(find)
没有匹配,结果是None
find=re.search(r"world$","hello world")
print(find)
匹配,返回一个MatchObject对象
展开全部
啥大神,回答都是错的,理解match的用法再来回答吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询