你直接用matchs判断就可以了,matcher是只要内部有能匹配上的就算满足,不是判断整体。
String rexp = "([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}"String addr = "11111.1.1.1"
System.out.println("1.1.1.1".matches(rexp))
System.out.println("11.1.1.1".matches(rexp))
System.out.println("111.1.1.1".matches(rexp))
System.out.println("11111.1.1.1".matches(rexp))
true
true
true
false
^(([1-9]{1}\d*)|(0{1}))(\.\d{2})$万楼主是要必须等于"8.20万"? 如果是这样根本不用正则,直接使用"8.20万".equls()方法就可以了.
如果楼主意思是校验8.20万这种整数后面带两位小数的字符串的话,使用上面的正则就可以了
你要先写好正则表达式
单纯判断用String的matches()方法就可以了
public class Test {public static void main(String[] args) {
String s = "1234"
s.matches("\\d*")//\\d*为正则表达式,数字出现零次或多次,返回boolean类型
}
}