我想匹配方括号内的文本 - 但前提是它包含主题标签+数字+数字
即
[#18]
或 [hello #25 bye]
不是
[25]
(没有主题标签)
我最终想删除这些匹配字符串(包括括号和括号内的所有文本)。
例如
12345 one two [#13 west] words [2025/02/25] #15 [#88]turtles [smth #25 else].
我希望将其更改为:
12345 one two words [2025/02/25] #15 turtles .
(过滤掉)括号内不会有任何括号, 仅(主题标签、A-z、0-9 和空格)。我让它适用于括号和主题标签+数字+数字,但不适用于可选单词。
您可以将
\[[^]]*(#\d{2})[^]]*\]
替换为空字符串:
import re
print(re.sub(r"(?m)\[[^]]*(#\d{2})[^]]*\]", '',
"12345 one two [#13 west] words [2025/02/25] #15 [#88]turtles [smth #25 else] "))
12345 one two words [2025/02/25] #15 turtles