Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这两个是等价的吗?[0-9a-fA-F]和[0-9a-f-A-F]
[0-9a-fA-F]
[0-9a-f-A-F]
我一直在一些文本中使用 egrep 尝试这两个正则表达式,它们似乎是等价的。有没有他们不会返回相同结果的情况?
另外,在第二个表达式中,第二个是什么意思,-我为什么需要它?我对这些简单的例子有点困惑。
-
第二个表达式也匹配破折号和十六进制
编辑,egrep这是你使用的第二个实际上是无效的:
egrep
# echo "12345678" | egrep '^[0-9a-f-A-F]+$' egrep: Invalid range end
第二个的正确表达式是以破折号结尾:
[0-9a-fA-F-]
不,这两个正则表达式不相等。在第二个中添加字符'-'
[0-9a-f-A-F]= [0-9a-fA-F]+-