使用grep查找两个字符之间的字符串

时间:2016-05-20 09:12:05

标签: grep

我在answer这个正则表达式上找到了两个字符之间的字符串。在我的情况下,我想找到之间的每个模式。这是正则表达式:

(?<=‘)(.*?)(?=’)

事实上,当我在https://regex101.com/上尝试时,它会起作用。

问题是我想将它与grep一起使用,但它不起作用:

grep -E '(?<=‘)(.*?)(?=’)' file

有什么遗漏吗?

1 个答案:

答案 0 :(得分:2)

这些都是积极向前看,并且看待断言。您需要使用PCRE(Perl Compatible Regex)启用它,并且最好只使用GNU -o中的grep选项获取匹配的部分:

grep -oP '(?<=‘)(.*?)(?=’)' file
相关问题