python 正则表达式中 re.match 如果在模式后面加上$符号,和re.searc

python正则表达式中re.match如果在模式后面加上$符号,和re.search有什么区别?两个都是对所有字符进行匹配吧。请大神解惑。!!谢谢。... python 正则表达式中 re.match 如果在模式后面加上$符号,和re.search 有什么区别?两个都是对所有字符进行匹配吧。 请大神解惑。!!谢谢。 展开
 我来答
albumin
推荐于2017-11-26 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2393万
展开全部
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("^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
敏捷且晴好的小草6
2018-01-22
知道答主
回答量:7
采纳率:0%
帮助的人:4398
引用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对象
展开全部
啥大神,回答都是错的,理解match的用法再来回答吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式