regex - 如何使用 grep 从文件中检索匹配的文本?

标签 regex linux grep

我有一个这样的 txt 文件:

asdfasdf
ffaCover 91adf
ffffa

我想使用 grep 或某些 linux 工具来捕获“Cover”后空格后的 1 或 2 位数字。在某些编程语言中,我会使用正则表达式库来匹配/^Cover (\d\d?)$/。然后会有一些方法可以得到括号内的 1 或 2 位数字。有没有办法使用 grep 来做到这一点?

最佳答案

我一直都是这样做的:

 grep -Po '(?<=Cover\s)(\d\d?)'

grep-o 选项使它只打印出模式的匹配部分,不包括零宽度回顾断言。

但是,我之前不知道 anubhava 的答案中的 \K 选项,这看起来更干净。

关于regex - 如何使用 grep 从文件中检索匹配的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33901920/

相关文章:

java - .obj 文件的简单正则表达式存在困难

linux sed 仅在编辑第一行时读取整个文件

linux - 如何在 Linux 64 位上运行 Rebol 脚本

linux - 提取之间的文本

python - python中的grep变量

regex - 如何grep以数字或空格开头的行

java - 大括号内的正则表达式值

javascript - 使用正则表达式替换字符串中间的单引号

javascript 正则表达式,无组匹配或正向后查找

linux - 如何检查linux二进制文件是否有新添加的代码