我正在使用推文,我想将aa aaaa aaah ahhh的所有变体替换为单个表达式'ah'。但是,使用我的代码我也会替换单个'a'和'and',我不想改变它。
a = 'trying a aa aaaaaa aaaah and aaaahhh aaaaaaaahhh '
re.sub('a+h*','ah',a)
这样我得到:
Current output: 'trying ah ah ah ah ahnd ah ah '
但我想要的是:
Desired output: 'trying a ah ah ah and ah ah '
在你当前的表达中,a+
匹配一个a
或更多。你希望比赛从至少两个a开始。
s = 'a ah aah aa
re.sub('aa+h*','ah',s) # 'a ah ah ah'
这可以用量子{x,[y]}
推广,x
匹配y
事件或更多,可选地高达re.sub('a{2,}h*','ah',s)
。
qazxswpoi