re.search和re.match有什么区别?

re.search和re.match有什么区别?

Python 模块中的函数search()match()函数有什么区别?re

我已经阅读了文档当前文档),但我似乎永远不会记住它。我不得不查阅并重新学习它。我希望有人会用例子清楚地回答它,以便(也许)它会坚持到底。或者至少我会有一个更好的地方回答我的问题,重新学习它将花费更少的时间。


慕盖茨4494581
浏览 3137回答 4
4回答

繁花不似锦

search ⇒在字符串中的任何位置查找并返回匹配对象。match⇒ 在字符串的开头找到一些东西并返回一个匹配对象。

眼眸繁星

re.search 搜索的模式ES 整个字符串,而re.match没有搜索不到的格局; 如果没有,除了在字符串的开头匹配它,别无选择。

MM们

不同的是,re.match()误导任何习惯于Perl,grep或sed正则表达式匹配的人,而re.search()不是。:-)更为清醒的是,正如约翰·D·库克所言,re.match()“表现得好像每个模式都在前面。” 换句话说,re.match('pattern')等于re.search('^pattern')。所以它锚定了一个模式的左侧。但它也没有锚定模式的右侧:仍然需要终止$。坦率地说,我认为re.match()应该弃用。我很想知道它应该保留的原因。
打开App,查看更多内容
随时随地看视频慕课网APP