请问grep和正则表达式能不能只显示找到的匹配此表达式的字符? 10

比如要找A_*_Z的话只显示A_KKK_Z,A_KDJF_Z等,或者各个匹配的字符串之间用逗号分开?... 比如要找A_*_Z的话只显示A_KKK_Z,A_KDJF_Z等,或者各个匹配的字符串之间用逗号分开? 展开
 我来答
己闻楣Sx
2011-04-21 · TA获得超过1935个赞
知道大有可为答主
回答量:1057
采纳率:93%
帮助的人:911万
展开全部
grep可以,加上参数-o,其可用的最好的正则表达式引擎是perl风格的,需要在命令行加参数-P

笼统地说正则表达式没有意义,不同的语言利用正则表达式完成匹配后,想输出什么,和正则表达式已经没有关系了,完全看程序的逻辑,grep加上-o参数其实就是实现了“输出匹配”的逻辑。

如你的例子,假设内容存在test.txt中,则
grep -P -o "A_[^\sZ_]*_Z" test.txt
如果只要中间的,不要A_和_Z,则
grep -P -o "(?<=A_)[^\sZ_]*(?=_Z)" test.txt
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式