gpt4 book ai didi

regex - 从命令行打印正则表达式的所有匹配项?

转载 作者:行者123 更新时间:2023-12-03 18:13:37 25 4
gpt4 key购买 nike

在 unix 命令行上将所有匹配项(每个匹配项一行或每行输入一行)打印到正则表达式的最简单方法是什么?请注意,每行输入可能有 0 个或超过 1 个匹配项。

我认为一定有某种方法可以使用 sed、awk、grep 和/或 perl 来做到这一点,我希望有一个简单的命令行解决方案,以便将来需要时它会出现在我的 bash 历史记录中。

编辑:澄清一下,我不想打印所有匹配的行,只打印与正则表达式的匹配。例如,一行可能有 1000 个字符,但只有两个 10 个字符的正则表达式匹配。我只对那两个 10 个字符的匹配感兴趣。

最佳答案

假设您只使用非捕获括号,

perl -wnE'say /yourregex/g'

或者
perl -wnE'say for /yourregex/g'

sample 用途:
$ echo -ne 'fod,food,fad\nbar\nfooooood\n' | perl -wnE'say for /fo*d/g'
fod
food
fooooood
$ echo -ne 'fod,food,fad\nbar\nfooooood\n' | perl -wnE'say /fo*d/g'
fodfood

fooooood

关于regex - 从命令行打印正则表达式的所有匹配项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6259747/

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