用来检测字符串是否符合某种规则 , 替换特定的字符串,利用特定的字符串切割原字符串
2.检测是否符合某种规则| boolean matches(String regex) | 当前字符串是否匹配所给的正则表达式 |
举例:
boolean a;
String s=”oaubgubgasdfpoibg;
String regex = "asdf"; // 自定义的规则
a = s.matches(regex);// 等效于 a = s.match("asdf");
//a的值为false,因为s并不符合asdf,s只是包含了asdf
3.替换特定字符串
| String replaceAll(String regex,String replacement) | 使用replacement的内容替换regex |
如:用 %20 替换空格
String s="sag gsadg g g s ";
String result;
result = s.replaceAll(" ","%20");
4.按照特定字符串切割原字符
| String[] spilt(String regex) | 按照regex的内容来切割字符串,返回字符串数组 |
如下:按照空格切割字符串
String s = "asgn nioa ga ga gd sg asdg ";
String[] result = s.split(" ");
5.正则匹配的常用规则
[a-z] 匹配小写字母
[A-Z] 匹配大写字母
[0-9] 匹配小写字母
[^a-z] 不匹配小写字母 //通过^放在里面来表示不匹配
[0-9a-z] 匹配数字和小写字母 //无先后顺序
. 点表示匹配任意字符
\具有不编译的作用,表示后面具有特定符号的字母只当作纯文本来看
特定字符如"("可以会将程序闭合,修改成(即可
\d 表示匹配[0-9]
\w 表示匹配[a-z0-9A-Z_]
\r 表示匹配回车符
\n 表示匹配换行符
\t 表示匹配制表符(Tab)
\. 表示匹配点
\\ 表示匹配\ //可以看成是 \ \
边界匹配器
^[a-z] 表示以小写字母开头 // ^(放在外面)具有以什么开头的作用
[a-z]$ 表示以小写字母结尾 // $具有以什么结尾的作用
量词
{n} 代表前面的匹配规则出现>=n次 //如[0-9]{3} 代表数字连续出现3次
{n,m} 代表 m>=出现次数>=n
* 表示出现>=0次
? 表示出现0/1次
+ 表示>=1
6.实战
判断flag是否为真
String s = "aibgu bib03 h9h 9878agb8g b";
String regex = "bib";
boolean flag1 = s.matches(regex);
boolean flag2 = s.matches(".*"+regex+".*");
flag1为假
flag2为真



