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
------解决思路----------------------
参考楼上一个是整体。