在字符串中查找动态字符串

don*_*yor 0 python string

我想找到

f = "[[[someword_1234]]]"
Run Code Online (Sandbox Code Playgroud)

s = "weifjwieufh weifuwiefuhw ejfwi eujfh iwueh fiwe [[[someword_1234]]]"
Run Code Online (Sandbox Code Playgroud)

但三方someword_1234括号内的文字可以改变.所以我做不到:

s.find(f)
Run Code Online (Sandbox Code Playgroud)

我怎么能接近这个?

iCo*_*dez 5

由于您需要匹配模式而不是静态文本,因此您应该使用该re模块.具体来说,您正在寻找re.search:

>>> import re
>>> s = "weifjwieufh weifuwiefuhw ejfwi eujfh iwueh fiwe [[[someword_1234]]]"
>>> re.search(r'\[\[\[[^\]]+\]\]\]', s).group()
'[[[someword_1234]]]'
>>>
Run Code Online (Sandbox Code Playgroud)

以下是模式匹配的解释:

\[\[\[  # [[[
[^\]]+  # One or more characters that are not ]
\]\]\]  # ]]]
Run Code Online (Sandbox Code Playgroud)

请注意,您需要转义[,]因为它们在Regex模式中具有特殊含义.