public void test1(){
String regx="\\d{11}";
String str="12324579831";
System.out.println(str.matches(regx));
}
matches就是验证str是否符合regx的正则表达式
\\d
代表数字
\\d{11}
代表检索11次,必须是数字才返回true
[]
在[]中写想要匹配的字符范围,例如[a-zA-z0-9]这个仅仅匹配一次。
匹配次数用
+、*、?
+是将前面的条件匹配一次到多次
*为匹配0到多次
?是匹配0-1次使用时,前面必须加\\号
也可以指定匹配的次数
^
^是排除符号
public void test6(){
String regx="[^0-9]{3}";
String str="hel";
System.out.println(str.matches(regx));
}
排除后面的条件
还有简写
\d\w\s\.
\d代表所有的数字
\w代表所有的字符[a-zA-Z0-9]
\s代表所有的空白字符,包括制表符分页字符
.代表任意字符
将其大写则代表不匹配
如果要在同一个规则中分出几个小组要使用
()
将其进行分组
例如写一个电子邮件。
/*
* 测试电子邮件规则
* 1.包含@符号
* 2.@前有一个以上的单词
* 3.@符号后有一个.
* 4.@和.之间要有一个或多个字母 这里用()分类
* 例子:12345434@qq.com.cc.cn aa@asf.com.cn
* */
@Test
public void test1(){
String regx="\\w+\\@?\\w(\\.?\\w)+";
String str="1234asd5@qq.com";
System.out.println(str.matches(regx));
}