版权所有: hololive hololive_english 角色: mori_calliope takanashi_kiara takanashi_kiara_(凤凰) 艺人:徐静文 种类: meta: web
我想选择每一个单词,在例如:character:之后,这样我就可以把eg:character:放在每一个选择后面,
凤凰城(
character:mori_calliopecharacter:takanashi_kiarachararcter:takanashi_kiara_)
我得到的最接近的是
(?<=(\w*):\s*\S*\s.*)(?<=\s)(?=\S)它正常工作,但是当例如:character: something上有一个条目或它是空的时,它就会中断。
如果有人帮忙的话,我会很感激的
发布于 2022-05-25 10:03:42
您应该安装PyPi正则模并使用
regex.sub(r'(?<=(\w+):.*)(?<=\s)(?=\S)', r'\1:', text)
# or
# regex.sub(r'(?<=(\w+:).*)(?<=\s)(?=\S)', r'\1', text)见regex演示。详细信息
(?<=(\w+):.*) --一种正向查找,它匹配一个位置,该位置的前面紧跟任何单词(捕获到组1中),后面跟着一个:字符,然后是除行中断字符以外的任何零个或多个字符(?<=\s)‘--一种与紧接空格字符前面的位置匹配的正向查找(?=\S) -一个积极的前瞻性,它匹配一个位置,紧跟在非空格字符后面。import regex
text = "copyright: hololive hololive_english\ncharacter: mori_calliope takanashi_kiara takanashi_kiara_(phoenix)\nartist: xu_chin-wen\nspecies:\nmeta: web"
print( regex.sub(r'(?<=(\w+):.*)(?<=\s)(?=\S)', r'\1:', text) )输出:
copyright: copyright:hololive copyright:hololive_english
character: character:mori_calliope character:takanashi_kiara character:takanashi_kiara_(phoenix)
artist: artist:xu_chin-wen
species:
meta: meta:webhttps://stackoverflow.com/questions/72362608
复制相似问题