gpt4 book ai didi

正则表达式在替换时删除不匹配的行

转载 作者:行者123 更新时间:2023-12-04 10:14:15 24 4
gpt4 key购买 nike

鉴于此文本字符串 ;分隔列:

a;b;c
a;x;23
b;b;12

我希望获得具有 a 的每一行的第 3 列在第 1 列中使用 ^(a);(.*?);(.*?)$如图 here .

但是,如您所见,替换后的结果中也存在完整的非匹配行。

关于如何仅获取匹配行的第 3 列而没有不匹配行的任何想法。

谢谢

最佳答案

您可以添加 .*如果第一个选项不匹配,则只匹配该行:

^(?:(a);(.*?);(.*?)|.*)$
^^^ ^^^

regex demo

注意:如果要求只匹配字符串中的两个分号,则需要使用 [^;]*而不是 .*? :
^(?:(a);([^;]*);([^;]*)|.*)$

this regex demo ( \n 添加到演示中的否定字符类以说明正则表达式测试是在单个多行字符串上执行的事实,而不是一组单独的字符串)。

关于正则表达式在替换时删除不匹配的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61154862/

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