当前位置: 代码迷 >> Java相关 >> 正则表达式-|\\+?\\d+与(-|\\+)?\\d+有什么区别解决方案
  详细解决方案

正则表达式-|\\+?\\d+与(-|\\+)?\\d+有什么区别解决方案

热度:438   发布时间:2016-04-22 20:43:43.0
正则表达式-|\\+?\\d+与(-|\\+)?\\d+有什么区别

public class expressiontest {

public static void main(String[] args) {
  String test="-12345";
  System.out.println(test.matches("(-|\\+)?\\d+"));
}
}


当正则表达式用带括号的时候为真,但是去掉括号时就为假。这是个基本的表达式,但是还是没找出它的区别。希望大家给指导一下
------解决思路----------------------
我记得matches是完全匹配吧,(-
------解决思路----------------------
\\+)?\\d+这个意思是"-"或者"+"出现0次或者一次,然后在出现1次以上的数字,-
------解决思路----------------------
\\+?\\d+这个意思是只匹配“-”号或者“+”出现0次或者一次,然后在然后在出现1次以上的数字吧,当你去掉括号时,-12345中的“-”号就不满足了,如果是12345应该返回的就是true
------解决思路----------------------
参考楼上一个是整体。
  相关解决方案