gpt4 book ai didi

用逗号空格替换空格的正则表达式,行尾除外

转载 作者:行者123 更新时间:2023-12-04 05:29:06 27 4
gpt4 key购买 nike

我试图隐藏这个的输入文件内容:

NP_418770.2: 257-296 344-415 503-543 556-592 642-707
YP_026226.4: 741-779 811-890 896-979 1043-1077

对此:
NP_418770.2: 257-296, 344-415, 503-543, 556-592, 642-707
YP_026226.4: 741-779, 811-890, 896-979, 1043-1077

即,用逗号和空格替换空格(不包括换行符)

为此,我尝试过:
perl -pi.bak -e "s/[^\S\n]+/, /g" input.txt

但它给出了:
NP_418770.2:, 257-296, 344-415, 503-543, 556-592, 642-707
YP_026226.4:, 741-779, 811-890, 896-979, 1043-1077

如何在不编写另一个正则表达式的情况下停止出现在“:”(我想要“:”和一个空格)之后的附加逗号?

谢谢

最佳答案

尝试使用正则表达式否定回溯。基本上看,如果空格前的字符是冒号( : ),那么它与该空格不匹配。

s/(?<!:)[^\S\n]+/, /g

关于用逗号空格替换空格的正则表达式,行尾除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40373706/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com