我使用!\[.*?\]REPLACE
只能匹配到一个整的字符串:
softmax![z]REPLACE
我希望只得到:
![z]REPLACE
需要注意的是,这里的方括号里的字符串可能是任意数量的任意ascii字符,因为其中包含的是latex数学公式。
import re
s = """`softmax![z]REPLACEasfjlsa`中`![z]REPLACE`?"""
res = re.findall('(!\[[^!]*?\]REPLACE)', s, re.DOTALL)
print(res)
'''---result
['![z]REPLACE', '![z]REPLACE']
'''