如果字符的两边都有字符,如何替换字符?

时间:2015-11-12 10:15:44

标签: python regex replace

我一直在使用Python中的一些正则表达式,当我尝试替换字符串"b" 中的A时,如果 {{1任何一方都有任何角色。例如:

  • 替换"b""b"
  • 请勿替换"aaabaaa""b"

正则表达式对我来说似乎不太容易,所以我该怎么做?

2 个答案:

答案 0 :(得分:6)

您需要使用非字边界。

re.sub(r'\Bb\B', '', s)

\B两个单词字符之间的匹配或两个非单词字符)与\b相反(在单词char和非单词之间匹配单词char反之亦然

答案 1 :(得分:1)

您也可以使用外观。

re.sub(r'(?<=\w)b(?=\w)','',s)

此处(?<=\w)b(?=\w)查找在使用环视构造之前和之后具有单词字符的b。 e.g

>>>s = 'aaabaaa b wr'
>>>re.sub(r'(?<=\w)b(?=\w)','',s)
>>>'aaaaaa b wr'