Python正则表达式:匹配括号/括号对

时间:2012-08-26 17:31:49

标签: python regex

我想要捕捉彼此相邻的括号/括号对并掌握其中的单词。在下面的文字中,我想要抓住[oh](so)[bad](things)

[oh](so)funny
[all]the[bad](things)

如果我使用正则表达式r'\[(.*?)\]\((.*?)\)',它会捕获[oh](so)[all]the[bad](things),这不是我想要的。

解决这个问题有什么好的正则表达式?

1 个答案:

答案 0 :(得分:7)

请勿使用.*?

而是使用[^\]]+[^\)]+

换句话说:

r'\[([^\]]+)\]\(([^\)]+)\)'