正则表达式:不是java的,是独立的体系,有自己的语法,但是java是支持正在表达式的
用正则表达式是用来描述一种格式
一些特殊的字符表示一些特定的语义
职责范围:只判断格式,不关注有效性
正则表达式中的特殊符号:
[] 一个字符
[abc] a,b,c中的一个
[^abc] 除了a,b,c以外的任意一个
[a-z] a-z中的任意一个
[a-zA-Z0-9] 所有字母和数字中的任意一个
\d 任意一个数字
\w 任意一个单词字符[a-zA-Z0-9]
x? 表示有0个或者1个x
x+ 表示一个或者一个以上的x
x* 表示任意个x
x{n} 表示有n个x
x{n,m} 表示有n-m个x
x{n,} 表示至少有n个,没有上限
() 表示分组,可以将一系列正则表达式看做一个整体,分组时可以使用 | 表示或的关系
边界匹配:
^代表字符串开始
$代表字符串结束
java中可以通过字符串来判断正则表达式
String number = "1234567890";
//String regex = "[0-9]{10,11}";
String regex = "\\d{10,11}";
if(number.matches(regex)) {
System.out.println("电话号码符合要求");
}else {
System.out.println("电话号码不符合要求");
}
这里使用电话号码来测试;电话号码一般为10-11位数字,所以我们的正则表达式定义就应该是10-11位的数字;可以使用两种情况来写表达式:
- [0-9]{10,11} 这里表示0-9的数字在10个到11个区间里
- \d{10,11} 这里的\d表示0-9所有的数字,数量在10-11这个区间中
如果想判断正则表达式是否成立可以使用**boolean matches(String regex)**方法进行判断,要求我们传递一个正则表达式字符串;返回的是布尔类型的数据,所以可以作为判断语句使用
上述简单的介绍了java中如何使用正则表达式,其他的如果不明白的可以上机测试哟
今天的分享就到这里,如有错误,感谢大家来查找并指出!