2
我试图通过插入一个非字母组的字符分隔一个单词与两个相邻的元音。当我使用re.sub()
进行非空替换时,结果显示插入,但插入似乎已“吃掉”了以下字符。re.sub()与非空替换吃下面的字符在Python
下面是一个例子”
import = re
word = "aorta"
re.sub('(?<=[AEOUaeouy])(?:[aeoui])', '[=]', word)
#actual output => 'a[=]r[=]ta'
#expected output => 'a[=]or[=]ta'
为什么下面插入字符吃掉了?
您想要向前看,而不是一个非捕获组 - “(?:[aeoui])'>'(?= [aeoui])'。顺便说一句,为什么'a [=]或[=] ta'预计? –
Omg,你是对的!谢谢!如果你使用这个作为回应,我会接受它。 –
我认为你的预期结果是'a [=] orta',对吧? '[AEOUaeouy]'不包含'r' –