正则表达式主要是针对字符串进行操作,可以简化对字符串的复杂操作,其主要功能有匹配、切割、替换、获取。
一、匹配
检查字符串是否符合正则表达式中的规则,有一次不匹配,则返回false。如:
String str="abc";
String reg="[a-zA-Z]\\d?";//次表达式表示字符串的第一位只能是字母,第二位只能是数字或没有
boolean flag=str.matches(reg);//返回结果为true
二、切割
所谓切割,即是按一定的规则将字符串分割成多个子字符串,如:
String str="zhangsan,lishi,wangwu";
String reg=",";//表示以逗号作为切割符
String[] arr=str.split(reg);//返回结果为{“zhangsan”,"lisi","wangwu}
三、替换
即将字符串中符合规则的字符替换成指定字符,如:
String str="sfhjhfh136hjasdf73466247fsjha8437482jfjsfh746376";
str.replaceAll("\\d{3,}","#");//表示将连续出现三个或三个以上的数字替换成“#”
四、获取
即获取与规格相符的字符串,其步骤为:
①将正则表达式封装成对象
②让正则表达式和要操作的字符串相关联,获得匹配器对象
③获取正则匹配引擎
④通过引擎对符合规则的子串进行操作:如
String str="ming tian jiu yao fang jia le";
String reg="\\b[a-z]{3}\\b";//"//b"表示单词边界
Pattern p=Pattern.compile(reg);
Matcher m=p.matcher(str);// 获得匹配器
m.find();