有人知道为什么
expr "4" : '-?[0-9]+$'
在Mac OS X上返回0,在Linux上返回1 ?
事实:Mac使用BSD exprLinux使用GNU
对不起,我原来打的是
expr "4" : '-?[0-9]+$'
expr
接受基本正则表达式,而不是扩展正则表达式。
基本正则表达式不支持?
和+
操作符;你需要使用边界。
-
?
由{0,1}
实现(0到1次出现) -
+
与{1,}
一起实现(1次或多次出现)
GNU expr
似乎允许它们作为一个扩展,如果它们被转义。
下面是一个可移植的调用,应该可以在任何posix兼容的expr
实现中工作:
expr "4" : '-{0,1}[0-9]{1,}$'