Linux 带 grep 的正则表达式

RegEx with grep for Linux

在命令行 运行 CentOS 上需要一些帮助,但最终会在 Linux 构建中使用。我查看了这里的论坛并尝试了 RegEx 构建工具,我知道 regex 的语法是正确的,但显然它不起作用。

具有以下选项的各种组合已尝试过,并非全部组合在一起。 ioFE

3 packets transmitted, 3 received, 0% packet loss, time 2002ms ping -c 3 192.168.0.113 | grep '(?<=received,)(.*)(?=,)'

我觉得这应该可行,但鉴于我对正则表达式的了解,不确定缺少什么。我做错了什么?

已更新。两个答案,前提是两者都有效:

ping -c 3 192.168.0.113 | grep -Po '(?<=received,)(.*)(?=,)'

ping -c 3 192.168.0.113 | grep -Po 'received,\K[^,]+'

grep -P '(?<=received,)(.*)(?=,)'

您必须为该正则表达式启用 -P 模式才能使 work.Your 正则表达式正确。See here