gpt4 book ai didi

python - 使用正则表达式用 sed 解析括号

转载 作者:太空宇宙 更新时间:2023-11-03 15:11:23 27 4
gpt4 key购买 nike

我正在 sed 中寻找一个命令来转换这个输入流:

dummy
(key1)
(key2)dummy(key3)
dummy(key4)dummy
dummy(key5)dummy))))dummy
dummy(key6)dummy))(key7)dummy))))

进入这个:

key1
key2
key3
key4
key5
key6
key7

其中 dummy 可以是任何不带括号的字符串。所以我基本上想提取括号之间的字符串并每行输出一个字符串。可以有额外的右括号)

我使用正则表达式对 sed 进行了很多测试,但我无法弄清楚如何解决这个问题呢。虽然我确信这是可能的。(例如,我对替代工具持开放态度,例如 Perl 或 Python)

编辑:括号之间的字符串 (key1, key2 .. key7) 可以是任何不带括号的字符串。

最佳答案

我很可能会这样做:

my @all_keys; 

while ( <DATA> ) {
push ( @all_keys, m/\((.+?)\)/g );
}
print join ("\n",@all_keys);


__DATA__
dummy
(key1)
(key2)dummy(key3)
dummy(key4)dummy
dummy(key5)dummy))))dummy
dummy(key6)dummy))(key7)dummy))))

这假设“键”与 \w 匹配在 perlre (字母数字加上“_”,)

(如果您不熟悉 perl,您几乎可以将 <DATA> 换成 <STDIN> 并将数据直接通过管道传输到您的脚本 - 或者使用 @all_keys 做更多有趣的事情)

关于python - 使用正则表达式用 sed 解析括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26167132/

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