精确匹配
public class Main { public static void main(String[] args) { // TODO Auto-generated method stub String data = "this is text"; System.out.println(data.matches("this is text")); } }
输出:true
匹配空格:
public class Main { public static void main(String[] args) { // TODO Auto-generated method stub String data = "this is text"; System.out.println(data.matches("[this\s]+[is\s]+text")); } }
输出:true
匹配数字
public class Main { public static void main(String[] args) { // TODO Auto-generated method stub String data = "91"; System.out.println(data.matches("\d[5-9]")); } }
返回:false(\d表示0-9的数字,[5-9]表示5-9的一位数字)
匹配小数
public class Main { public static void main(String[] args) { // TODO Auto-generated method stub String data = "987"; System.out.println(data.matches("^(\d+)(\.\d+)?")); } }
返回:true(这里的^表示以这个开头,这里表示以多个数字开头,后面的问好表示问号前的括号内容可选,也就是这里可是整数也可以是小数)
匹配中文
public class Main { public static void main(String[] args) { // TODO Auto-generated method stub String data = "我爱中国"; System.out.println(data.matches("[u0391-uFFE5]+")); } }
返回为true([u0391-uFFE5]表示中文的范围,A-¥)
匹配身份证号:
public class Main { public static void main(String[] args) { // TODO Auto-generated method stub String data = "342201201706159375"; System.out.println(data.matches("^(\d{6})(18|19|20)(\d{2})(0[1-9]|1[0-2])(0[1-9]|1\d|2\d|3[0-1])(\d{3})(\d|X|x)?$")); } }
返回时true,但是这个也不是太对的,可能会出现4月31号,但是事实上是没有4.31的。