有谁知道为什么第二个模式显示它不应该与正则表达式匹配...
$grep [[:digit:]{4}] file
99g66
9888
$
答案 0 :(得分:1)
答案 1 :(得分:1)
您的表达式[[:digit:]{4}]
是character set,与数字,{
或}
匹配。你可能意味着[[:digit:]]{4}
。使用grep -E
或egrep
在扩展模式下使用该正则表达式,或者在使用基本正则表达式模式时转义大括号:
$ egrep '[[:digit:]]{4}' file
$ grep '[[:digit:]]\{4\}' file # braces escaped