Python 匹配a+;在正则表达式中

Python 匹配a+;在正则表达式中,python,regex,Python,Regex,这应该很容易,但到目前为止,我已经在工作中设法说服了两个人&我已经做了3个多小时了,现在开始吧 我需要用aplus替换a+(以及其他一些情况),并使用pythonre模块。 例如,“我通过了a+考试。”需要变成“我通过了aplus考试” 仅使用\ba+在大多数情况下都很好,但在a+b的情况下失败,因此我无法使用它,它需要将a+作为一个不同的词匹配。我尝试了\ba+\b,但失败了,因为我假设+是单词边界 我还尝试了\ba+\W,它确实有效,但贪婪并占用了空间(或任何其他可能存在的非alpha字符)

这应该很容易,但到目前为止,我已经在工作中设法说服了两个人&我已经做了3个多小时了,现在开始吧

我需要用aplus替换a+(以及其他一些情况),并使用pythonre模块。 例如,“我通过了a+考试。”需要变成“我通过了aplus考试”

仅使用\ba+在大多数情况下都很好,但在a+b的情况下失败,因此我无法使用它,它需要将a+作为一个不同的词匹配。我尝试了\ba+\b,但失败了,因为我假设+是单词边界

我还尝试了\ba+\W,它确实有效,但贪婪并占用了空间(或任何其他可能存在的非alpha字符)


有什么建议吗?

把这个
\W
变成一个断言

\ba\+(?=\W)
或者更好

\ba\+(?!\w)

因为否定断言也允许匹配字符串末尾的
a+

您需要转义+,因为它在regexp中有特殊含义(一个或多个a)。
>>> re.sub(r'\ba\+\s', 'aplus ', 'I passed my a+ exam.')
'I passed my aplus exam.'
>>> re.sub(r'\ba\+\s', 'aplus ', 'a+b')
'a+b'

搜索
a\+
而不是
a+

正则表达式上的更正:我是在转义+,只是键入了错误。所以它是\ba\+,\ba\+\b等等。这些信息属于问题,而不是评论。