0

我正在尝试为 grep 提供屏幕分辨率的正则表达式模式(例如1280x720),如下所示

[0-9]{3,}x[0-9]{3,}

但它似乎没有工作。

以下有效,但不能转化为上述。

[0-9][0-9][0-9][0-9]*x[0-9][0-9][0-9][0-9]*
4

2 回答 2

3

这是一个 ERE(扩展正则表达式),grep 使用 BRE(默认情况下是基本正则表达式。您可以转义 {}:

grep '[0-9]\{3,\}x[0-9]\{3,\}'

或告诉 grep 将其解释为 ERE:

grep -E '[0-9]{3,}x[0-9]{3,}'
于 2012-11-02T00:39:32.550 回答
2

您的正则表达式似乎适用于 bash :

[[ 1280x720 =~ [0-9]{3,}x[0-9]{3,} ]] && echo OK
OK

如果你想使用grep

$ cat B
640x480
$
$ grep -c "[0-9]\{3,\}x[0-9]\{3,\}" B
1
$
$ grep --version
grep (GNU grep) 2.14
于 2012-11-02T00:21:49.227 回答