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

Mic*_*oka 5 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?
Run Code Online (Sandbox Code Playgroud)

Joc*_*zel 7

您可以使用lookbehind断言:

pattern = r'(?<=X)([a-z])X'
Run Code Online (Sandbox Code Playgroud)