虽然字符串出现在句子中,但re.match返回null

时间:2015-06-30 15:49:13

标签: python regex match

我正在尝试将字符串'hello world'与句子匹配。我认为这意味着它在句子中搜索该字符串并返回一个表示成功的值。

但是当我尝试这段代码时,打印出的所有内容都是“无”。

import re
sentence = "why do we write hello world so often?"
match1 = re.match('hello world', sentence)
print match1

1 个答案:

答案 0 :(得分:2)

match仅查看字符串的开头。

您应该使用search代替:

match1 = re.search('hello world', sentence)

请注意,不应将regex用于此特定任务。 hello world是一个非常具体的文本,您可以使用in来检查它是否包含在字符串中。当您拥有模式时,应该使用正则表达式。

如果您坚持使用match,则应将正则表达式更改为:

match1 = re.match('.*hello world', sentence)

现在.*匹配所有内容,直到hello world令牌,正则表达式“hello world”将匹配句子中的字符串“hello world”。