也被称为规则表达式,使用一些特定的符号来制定一个规则,使用此规则与一个字符串进行模式匹配,匹配成功则返回true,否则不成功就返回false
这里我们要了解java.util中的两个类
第一个类:java.Pattern(Pattern就是模式的意思)
第二个类:java.util.Matcher(Matcher就是匹配的意思)
我们常常会使用两种方式进行模式匹配判断(判断字符串和指定模式是否匹配=)
第一种方式:
String s1=new String("aaaaab");//这里我们创建了一个字符串 boolean b1=s1.match("a*b");//这里我们调用了字符串s1的match()方法进行了模式的判断,判断这个字符串和我们的“a*b”这个正则表达式是否匹配,如果匹配返回true,如果不匹配返回false
常用正则表达式符号:
\d:表示数字[0~9]
\\d:表示这里的内容是非数字
x?:表示x内容有一个或者一个也没有
x*:表示x内容一个也没有或者有多个
x+:表示x内容有一个或者有多个
x{n}:表示x内容刚刚好有n个
x{n,}:表示x内容至少有n个
x{n,m}:表示x内容至少有n个,至多有m个
[a,b,c] 这里的内容是a或b或c
[1-9] 表示这里的内容只能是1~9中的一个
[1-9] 表示这里的内容除了1~9都可以,字母也可以,特殊符号也可以
[a-z] 表示这里的内容是小写字母
[A-Za-z] 表示这里的内容可以是小写字母或者也可以是大写字母
\\w(小写w):表示这里的内容表示的是单词字符
-
单词字符包括:0~9,A~Z,a~z . _
\\W(大写W):表示这里的内容是非单词字符
|:表示或的关系,比如有我们的邮箱后缀可能是com,也可能是com.cn,那么这个时候我们可以使用(com|com.cn)
.:在正则表达式中表示任何符号的含义,我们可以通过\进行转义,将.(小数点)转义为就仅仅表示一个小数点字符,而不代表任意字符。
-
:= & @这四个在正则表达式(规则表达式)中都没有特殊的含义,它们就是它们自己,仅仅是