正面看待正则表达式?

时间:2015-12-22 08:20:42

标签: python regex

我有这个字符串 - [1]{a,b} xxx [3] [4]{e,f}

我想抓住[1]{a,b}[4]{e,f}以及所有其他[.*]{.*}

尝试\[.*?\](?!\[)\{.*?\}时,我得到[1]{a,b}[3] [4]{e,f}

我正在使用Python 2.7

前瞻有什么问题?我指定不包含[字符...... 没有预见就能解决吗?

1 个答案:

答案 0 :(得分:2)

您需要使用否定的字符类,而不是.*

>>> s= "[1]{a,b} xxx [3] [4]{e,f}"
>>> 
>>> import re

>>> re.findall(r'\[[^]]*\]\{[^}]*\}',s)
['[1]{a,b}', '[4]{e,f}']