用于 Linux 的 RegEx 和 grep

标签 regex linux grep

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

下面的选项已经尝试过各种组合,并不是全部都放在一起。物联网

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 模式才能使该正则表达式工作。您的正则表达式是正确的。 See here

关于用于 Linux 的 RegEx 和 grep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28493349/

相关文章:

regex - 在文件名中插入字符

java - .replaceAll() 方法无法正常工作

ruby - 从字符串中删除第一次出现的给定字符

Java 正则表达式,IllegalStateException : No match found

python - 如何使用 Python 下载文件?

linux - 项目错误QT

linux - 如何将我的 grep 重定向到位于另一个目录中的 txt 文件?

python - 正则表达式匹配中的变音符号(通过语言环境?)

linux - 查找以太网设备的物理端口 - OPENWRT

linux - Grepping 文件夹名称但不包括 "@domain.com"