正则表达式:如何匹配重叠模式(可能是Python特定的)

时间:2011-03-04 03:43:03

标签: python regex

我有一个如下所示的字符串:“XaXbXcX”。我想要匹配任何一边用X包围的任何小写字母。我在Python中试过这个,但是我找不到我想要的东西:

import re
str = "XaXbXcX"
pattern = r'X([a-z])X'
matches = re.findall(pattern, str) # gives me ['a', 'c']. What about b?

2 个答案:

答案 0 :(得分:7)

您可以使用lookbehind断言:

pattern = r'(?<=X)([a-z])X'

答案 1 :(得分:0)

我不知道python,但是我在gskinner中测试了这个正则表达式([^(?:X)+])+

希望这有助于你