java正则表达式“*”和“+”的区别
概念:
+:至少匹配一个值(1,n),相当于{1,n}
*:匹配零个或多个值(n,m),相当于{n,m}
(一)如图所示匹配多个值的时候“+”和"*"无区别;
(二)匹配空字符串时,“*号返回的是true
”,“+号返回的是false
”.
综上所述:如果需判断空字符串时(什么都不输入,包括空格),用+
号匹配;如果需判断多个字符(不为空的字符串),用+
号和*
均可。
(三)一个即可输入数字又可输入字母的文本,并且以字母开头即可(可不输入数字)。
此时不能用+
号去匹配数字,如果用+
号,就必须输入数字而不是可选的;应该用*
号去匹配数字,即可匹配不输入数字。