如何防止re.sub脱离rstrip?

时间:2019-10-14 11:34:35

标签: python regex

说你有

>>> txt
' * a * ***b*** *c '

我想用'*'代替所有'!'的非重复出现。因此,我想

>>> import re
>>> re.sub('[^\*]\*[^\*]', '!', txt)             
'!a!***b***! '

会做这份工作。但是我的'c'在哪里?即如何保存?

1 个答案:

答案 0 :(得分:1)

您可以使用环视

(?<!\*)\*(?!\*)
  • (?<!\*)-比赛之前不应加上*
  • \*-匹配*
  • (?!\*)-不应该在*
  • 之后进行匹配

Regex Demo