[正则表达式]为一些正则表达式大于10000
问题描述:
我使用zgrep发现其中包含数字的一些字符串大于10000我试图[正则表达式]为一些正则表达式大于10000
zgrep '[1-9]\d{4}' (filename here)
但什么都不会返回。 任何人谁可以告诉我正确的用法与解释将大大赞赏。
答
您在zgrep命令中缺少“-P”标志。
zgrep -P '[1-9]\d{4}'
“\ d”用于Perl Regular Expression。没有“-P”标志,你正在使用Basic Regular Expression。有了“-E”标志,你正在使用Extended Regular Expression。
+0
感谢您的解释 – nocandies
'\ d'字符类不支持grep(也可能是zgrep)。改用'[0-9]'。搜索关于BRE语法。 BRE语法中的量化符的大括号是转义的{4}'=>'\ {4 \}' –
我试过'zgrep'[1-9] [0-9] {4}''。但仍然没有任何东西。我确信文件中有一些大于50000的数字。 – nocandies
更新页面以查看我以前评论的结尾。 –