我正在努力寻找
f = "[[[someword_1234]]]"
内
s = "weifjwieufh weifuwiefuhw ejfwi eujfh iwueh fiwe [[[someword_1234]]]"
但三方括号内的文字someword_1234
可能会发生变化。所以我不能这样做:
s.find(f)
我该如何处理?
答案 0 :(得分:5)
由于您需要匹配模式而不是静态文本,因此您应该使用re
模块。具体来说,您正在寻找re.search
:
>>> import re
>>> s = "weifjwieufh weifuwiefuhw ejfwi eujfh iwueh fiwe [[[someword_1234]]]"
>>> re.search(r'\[\[\[[^\]]+\]\]\]', s).group()
'[[[someword_1234]]]'
>>>
以下是模式匹配的解释:
\[\[\[ # [[[
[^\]]+ # One or more characters that are not ]
\]\]\] # ]]]
请注意,您需要转义[
和]
,因为它们在Regex模式中具有特殊含义。