我想找到
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)
我怎么能接近这个?
由于您需要匹配模式而不是静态文本,因此您应该使用该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模式中具有特殊含义.