我有以下文字:检索内部#{}文字
#{king} for a ##{day}, ##{fool} for a #{lifetime}
而下面的(碎)的正则表达式:
[^#]#{[a-z]+}
我想匹配所有#{字}而不是# #{words}(加倍'#'就像转义一样)。
今天我注意到,我有的正则表达式忽略了第一个单词(拒绝匹配#{king},但正确地忽略了## {day}和## {fool})。
>>> regex = re.compile("[^#]#{[a-z]+}")
>>> regex.findall(string)
[u' #{lifetime}']
有关如何改进当前正则表达式以适应我的需求的任何建议? 我想这个问题是[^#]
...
你的解决方案更好,我忘记了负面的后顾之忧。 – grep
很酷的功能?这是蟒蛇正则表达式具体? –
@Andrei,不,它似乎不是python特有的(根据[this site](http://www.regular-expressions.info/lookaround.html)),但他们说:“像JavaScript,Ruby和Tcl这样的风格可以做尽管它们确实支持lookahead,但根本不支持lookbehind。“ – MatToufoutu