[正则表达式]为一些正则表达式大于10000

问题描述:

我使用zgrep发现其中包含数字的一些字符串大于10000我试图[正则表达式]为一些正则表达式大于10000

zgrep '[1-9]\d{4}' (filename here) 

但什么都不会返回。 任何人谁可以告诉我正确的用法与解释将大大赞赏。

+1

'\ d'字符类不支持grep(也可能是zgrep)。改用'[0-9]'。搜索关于BRE语法。 BRE语法中的量化符的大括号是转义的{4}'=>'\ {4 \}' –

+0

我试过'zgrep'[1-9] [0-9] {4}''。但仍然没有任何东西。我确信文件中有一些大于50000的数字。 – nocandies

+0

更新页面以查看我以前评论的结尾。 –

您在zgrep命令中缺少“-P”标志。

zgrep -P '[1-9]\d{4}' 

“\ d”用于Perl Regular Expression。没有“-P”标志,你正在使用Basic Regular Expression。有了“-E”标志,你正在使用Extended Regular Expression

+0

感谢您的解释 – nocandies