这两个是等价的吗?[0-9a-fA-F]
和[0-9a-f-A-F]
我在一些文本中使用egrep尝试了这两个正则表达式,它们似乎是等效的。有没有可能他们不会返回相同的结果?
另外,在第二个表达式中,第二个-
的含义是什么?我为什么需要它?我对这些简单的例子有点迷惑。
发布于 2012-05-10 17:43:47
第二个表达式也匹配破折号和十六进制
在egrep
中编辑,这是您正在使用的第二个实际上是无效的:
# echo "12345678" | egrep '^[0-9a-f-A-F]+$'
egrep: Invalid range end
第二个单词的正确表达式是以破折号结尾:
[0-9a-fA-F-]
发布于 2012-05-10 17:43:05
不,这两个正则表达式不相等。在第二个代码中,您添加了字符'-‘
发布于 2012-05-10 17:44:20
[0-9a-f-A-F]
= [0-9a-fA-F]
+ -
https://stackoverflow.com/questions/10531323
复制相似问题