正则表达式
作用:验证某个字符串是否符合某种规则
代码:
//1.正则表达式验证的规则 String reg = "正则表达式"; //Pattern,Matcher在java.util包中 //2.编译正则表达式规则 Pattern pattern = Pattern.compile(reg); //3.规则和字符串进行验证比较 Matcher m = pattern.matcher("比较的字符串"); //4.验证 //.matches()/全匹配、.fing()/非全匹配(包含则成功) if(m.matches()){ //true匹配成功 }else{ //false匹配不成功 }
正则表达式的基础样式
式子 | 意义 | 式子 | 意义 |
---|---|---|---|
{n} | 前一个字母出现n次 | {n,} | 前一个字母出现n或n次以上 |
{n,m} | 前一个字母出现n~m次 | {n} | 括号中的类容出现n次 |
[a-z] | 小写字母 | [a-zA-Z] | 大小写字母 |
[0-9] | 数字 | [_] | 下划线 |
w | 相当于[a-zA-Z0-9] | W | 除了w以外的类容 |
d | 相当于[0-9] | D | 除了数字以外所有类容 |
s | 空格 | | | 或者 |
* | 相当于{0,} | + | 相当于{1,} |
? | 相当于{0,1} | ^ | 以什么开始 |
$ | 以什么结束 |
特别注意:
-
[0-20]/判断的是0,1,2;
-
[a-z][A-z]{1,5}/小写字母一次,大写字母5次;
-
在Java书写时例如w需要书写为w,因为在Java中有特殊意义;
-
在java中"."书写为“.”;
-
^…………$/在有的正则表达式会出现^$的出现,这表示以相同开始,又以相同结束。两者之间类容被固定
在.find()语句中书写该样式与.matches()效果一样。同时该正则表达式也可以在其他语言中使用。