现在我无法找到标题的方法,但我可以在代码中解释我的目的。
所以我可以收集用户评论并检查是否有这些" [[Keyword]]"改性剂。现在我想进一步扩展它以允许不止一个。
如果用户在行当前代码中输入多个修饰符,则会发生这种情况。
#comment in this case is "I want to [[find]] [[this]] [[Special]] word."
# c is the comment.
body = c.body
# Finds the hot word
result = re.search("\[\[(.*)\]\]", body, re.IGNORECASE)
print(result)
预期结果:
>>>find this Special
返回结果:
>>>find]] [[this]] [[Special
有什么方法可以把每个结果都放到某种数组中,所以我可以测量数组的长度,每个结果都对应一个数字
我希望它如何运作。
print(result[0] +'\n')
print(result[1] +'\n')
print(result[2] +'\n')
>>>find
>>>this
>>>Special
答案 0 :(得分:1)
默认情况下,.*
贪婪。您希望它在非贪婪模式下匹配,以便尽可能少地匹配。您可以使用.*?
代替.*
来实现此目的。您还应该使用re.findall
来获取所有匹配而不是re.search
,这只会返回第一个匹配。
>>> re.findall(r"\[\[(.*?)\]\]", body, re.IGNORECASE)
['find', 'this', 'special']
答案 1 :(得分:0)
import re
text = 'comment in this case is "I want to [[find]] [[this]] [[Special]] word.'
result = re.findall("(?:\[\[(.*?)\]\])", text)
for term in result:
print(term + "\n")