gpt4 book ai didi

regex - 正则表达式与egrep的匹配部分

转载 作者:行者123 更新时间:2023-12-03 02:20:59 24 4
gpt4 key购买 nike

我想知道,使用egrep((GNU grep) 2.5.1),我是否可以选择匹配文本的一部分,例如:

grep '^([a-zA-Z.-]+)[0-9]+' ./file.txt

所以我只得到括号之间匹配的部分,例如

house.com

而不是像我通常得到的整行:

house.com112

假设我的 file.txt 中有一行包含 house.com112 的行。

(其实这个正则表达式只是一个例子,我只是想知道是否可以只打印整行的一部分。)

我确实知道在某些语言中,例如 PHP、Perl 甚至 AWK 都可以,但我不知道egrep 是否可以。

提前谢谢您!

最佳答案

在 grep 找到匹配的行后,使用 sed 修改结果:

grep '^[a-zA-Z.-]+[0-9]+' ./file.txt | sed 's/[0-9]\+$//'

或者,如果您只想仅使用 grep,则可以使用带有 -o 开关的 grep 而不是 sed:

grep '^[a-zA-Z.-]+[0-9]+' ./file.txt | grep -o '[a-zA-Z.-]+'

关于regex - 正则表达式与egrep的匹配部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2300453/

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