这两个是等价的吗? [0-9a-fA-F]和[0-9a-f-A-F]
在一些文本中,我一直在尝试使用egrep这两个正则表达式,它们似乎是等价的.
有没有一个案例他们不会返回相同的结果?
另外,在第二个表达式中,第二个表达式是什么意思 – 为什么我需要它呢?我对这些简单的例子感到困惑.
解决方法
第二个表达式也匹配破折号和十六进制
在egrep中编辑,这是你正在使用的第二个实际上是无效的:
# echo "12345678" | egrep '^[0-9a-f-A-F]+$' egrep: Invalid range end
第二个的正确表达式是以破折号结尾:
[0-9a-fA-F-]