import re
input_text = "Creo que ((PERS)los viejos gabinetes) estan en desuso, hay que hacer algo con ellos. ellos quedaron en el deposito de afuera, lloviznó temprano por lo que ((PERS)los viejos gabinetes) fueron llevados a la sala principal."
pattern_01 = r"((PERS)\s*los\s[\w\s]+)(\.)"
output = re.sub(pattern_01, r"\1, \1\3", input_text, flags = re.IGNORECASE)
print(output)
将((PERS)\s*los )
序列后第一个点.
之前的任何"ellos"
子字符串替换为括号((PERS)\s*los )
内的内容,这些内容必须在出现该子字符串"ellos"
之前找到
直接使用此代码不会修改字符串
但我需要得到这个输出:
"Creo que ((PERS)los viejos gabinetes) estan en desuso, hay que hacer algo con los viejos gabinetes. ellos quedaron en el deposito de afuera, lloviznó temprano por lo que ((PERS)los viejos gabinetes) fueron llevados a la sala principal."
必须执行替换的次数是未知的,也就是说,在((PERS)ellos )
和这个字之后的第一个点.
之间可能有多于一个"ellos"
1条答案
按热度按时间whlutmcx1#
您可以尝试以下操作: