这应该很容易使用捕获组,但我没有得到正确的单词。我一直在使用以下内容:
#Before
print(re.sub(r'\b([A-Za-z0-9]+)\b(?=\.?\s*(\&|\-|and))',r'\1','A. & B.',flags=re.IGNORECASE))
A. & B.
#After
print(re.sub(r'(\&|\-|and)\s*\b([A-Za-z0-9]+)\b',r'\2','A. & B.',flags=re.IGNORECASE))
A. B.
字符串可以是以下之一:
A. - B.
A.-B.
A. & B.
A.&B.
A. AND B.
这个想法是在我之前/之后得到这个词,ampersand| hyphen | and我分成两个正则表达式来得到这两个词。在这个例子中, before 会得到 justA和 after B。
为什么捕获组没有打印A,并且B在前面的示例中?
提前致谢 :)