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

我有一个看起来像这样的字符串:“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?
    
已邀请:
您可以使用lookbehind断言:
pattern = r'(?<=X)([a-z])X'
    
我不知道python,但是这个正则表达式也适用于我在gskinner中测试过
([^(?:X)+])+
。 希望这对你有所帮助     

要回复问题请先登录注册