Python re
模块 中的 search()
和 match()
函数有什么区别?
我已阅读 文档( 当前文档),但我似乎从未记得它。我一直不得不查找并重新学习它。我希望有人会用例子清楚地回答它,以便(也许)它会留在我的脑海中。或者至少我会有一个更好的地方来回答我的问题,并且重新学习它需要更少的时间。
原文由 Daryl Spitzer 发布,翻译遵循 CC BY-SA 4.0 许可协议
Python re
模块 中的 search()
和 match()
函数有什么区别?
我已阅读 文档( 当前文档),但我似乎从未记得它。我一直不得不查找并重新学习它。我希望有人会用例子清楚地回答它,以便(也许)它会留在我的脑海中。或者至少我会有一个更好的地方来回答我的问题,并且重新学习它需要更少的时间。
原文由 Daryl Spitzer 发布,翻译遵循 CC BY-SA 4.0 许可协议
search
⇒ 在字符串中的任何地方找到一些东西并返回一个匹配对象。
match
⇒ 在字符串的 开头 找到一些东西并返回一个匹配对象。
原文由 Dhanasekaran Anbalagan 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答879 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
re.match
锚定在字符串的开头。这与换行无关,因此与在模式中使用^
。正如 re.match 文档 所说:
re.search
搜索整个字符串,如 文档所述:因此,如果您需要匹配字符串的开头,或者匹配整个字符串,请使用
match
。它更快。否则使用search
。该文档有一个 特定的部分
match
与search
也涵盖了多行字符串:现在,足够的谈话。是时候看一些示例代码了: