正则表达式grep用于1280x720表单的屏幕分辨率

时间:2012-11-02 00:19:46

标签: regex bash

我试图给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]*

2 个答案:

答案 0 :(得分:3)

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

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

或告诉grep将其解释为ERE:

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

答案 1 :(得分: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