猿问

当第一个单词完全匹配时返回完整的句子

我试图仅在第一个单词与我所需的单词匹配时才返回全文。在这个例子中,我的词是“sparta”


"sparta where is fire" -> this should return me the whole sentence 

"Hey sparta where is fire" -> this should not return me anything as the sentence did not started with the Sparta

我正在用 python 编写,直到这一点:


text = "sparta where is fire"

my_regex = "^[sparta\s]+ [\w\s]+"

result = re.findall(my_regex, text)

这在找到句子时效果很好。它将结果作为带有文本的列表返回。我的问题是当没有匹配项时,结果返回一个空列表。有没有一种方法,当没有匹配项时,我什么也得不到。我不需要空字符串。我可以用其他东西代替 findall 吗?


翻过高山走不出你
浏览 116回答 1
1回答

千万里不及你

我认为您正在寻找match功能。text = "sparta where is fire"my_regex = "^[sparta\s]+ [\w\s]+"match = re.match(my_regex, text)match.group() # returns "sparta where is fire"match2 = re.match(my_regex, "Hello")match2 # None
随时随地看视频慕课网APP

相关分类

Python
我要回答