0

1280x720次のように、grepに画面解像度の正規表現パターン(例)を与えようとしています

[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 に答える