首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >regex匹配字符串后的所有正向后查找,并将其输入到每个选择的后面。

regex匹配字符串后的所有正向后查找,并将其输入到每个选择的后面。
EN

Stack Overflow用户
提问于 2022-05-24 12:06:46
回答 1查看 250关注 0票数 0

版权所有: hololive hololive_english 角色: mori_calliope takanashi_kiara takanashi_kiara_(凤凰) 艺人:徐静文 种类: meta: web

我想选择每一个单词,在例如:character:之后,这样我就可以把eg:character:放在每一个选择后面,

凤凰城( character:mori_calliope character:takanashi_kiara chararcter:takanashi_kiara_)

我得到的最接近的是

代码语言:javascript
复制
(?<=(\w*):\s*\S*\s.*)(?<=\s)(?=\S)

它正常工作,但是当例如:character: something上有一个条目或它是空的时,它就会中断。

如果有人帮忙的话,我会很感激的

EN

回答 1

Stack Overflow用户

发布于 2022-05-25 10:03:42

您应该安装PyPi正则模并使用

代码语言:javascript
复制
regex.sub(r'(?<=(\w+):.*)(?<=\s)(?=\S)', r'\1:', text)
# or
# regex.sub(r'(?<=(\w+:).*)(?<=\s)(?=\S)', r'\1', text)

regex演示。详细信息

  • (?<=(\w+):.*) --一种正向查找,它匹配一个位置,该位置的前面紧跟任何单词(捕获到组1中),后面跟着一个:字符,然后是除行中断字符以外的任何零个或多个字符(?<=\s)‘--一种与紧接空格字符前面的位置匹配的正向查找
  • (?=\S) -一个积极的前瞻性,它匹配一个位置,紧跟在非空格字符后面。

Python演示

代码语言:javascript
复制
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) )

输出:

代码语言:javascript
复制
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:web
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72362608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档