首页 > 解决方案 > Bash 脚本中的 grep -ioP '(?<=Arguments=\")(.*)(?=":Language=)'

问题描述

我正在浏览一个 bash 脚本并阅读了一行内容:

echo "Some line..." | grep -ioP '(?<=Arguments=\")(.*)(?=":Language=)'

我理解 grep 部分 iegrep -ioP但输入 grep ie

'(?<=Arguments=\")(.*)(?=":Language=)'第一次遇到表达式类型。

这是什么意思?这对 grep 意味着什么特别的东西,还是只是从 echo 字符串部分中提取类似字符串?

谢谢!

标签: regexbashgrep

解决方案


这些是环视断言(?<...)是向后看(在前面),是向前看(在后面)。他们的原因是他们不是比赛的一部分,所以不会输出他们。(?=...)-o


推荐阅读