gpt4 book ai didi

regex - 如何获取正则表达式匹配的子组的内容

转载 作者:行者123 更新时间:2023-12-04 16:18:06 25 4
gpt4 key购买 nike

像这样:
文件

abc-111-zzz-022-ffff
abc-222-zzz-033-ffff
abc-333-zzz-044-ffff
我可以获得完整匹配(正则表达式中的 $0):
[root@ser user]# grep -Po 'abc\-([0-9]+)\-zzz\-([0-9]+)' p.txt
abc-111-zzz-022
abc-222-zzz-033
abc-333-zzz-044
如何只获取子组内容 $1$2喜欢 :
111022
222033
333044
谢谢!

最佳答案

grep不允许打印捕获组。使用 sed :

sed -E 's/abc-([0-9]+)-zzz-([0-9]+).*/\1\2/' file

111022
222033
333044
或者,如果您有 pcregrep然后使用此命令打印前 2 个捕获组:
pcregrep -o1 -o2 'abc-([0-9]+)-zzz-([0-9]+)' file

111022
222033
333044

关于regex - 如何获取正则表达式匹配的子组的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67676149/

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