【发布时间】:2015-10-26 18:11:42
【问题描述】:
我对正则表达式很陌生。我在 txt 文件中有以下简单的行。
This one has some different PATTERNs, including PTTRN, and PTN, then it repeats PTTRN and PATTERN
使用grep -E,我想匹配第一个 PATTERN 和第一个 PTTRN 之间的所有内容,而不会将匹配扩展到第二个 PTTRN。
我试过了
PATTERN.*?PTTRN
这似乎适用于https://regex101.com/r/qI4aA6/8
但是当我尝试在终端中使用 grep 时,它会一直着色到第二个 PTTRN,即
PATTERNs, including PTTRN, and PTN, then it repeats PTTRN
此外,我在我的 ubuntu 系统上使用默认的 grep (gnu grep)。
【问题讨论】:
-
你用过
grep -P吗? -
它适用于 -P 选项,但我真正想要的是使用 -E 选项(扩展正则表达式)......我忘了提到它。我是正则表达式的新手,所以我没有意识到 Perl 正则表达式和扩展正则表达式之间存在差异。无论如何,谢谢
标签: regex shell command-line terminal grep