正则表达式 Regular Expression
正则表达式
什么是正则
用于描述一组字符串特征的模式,用来匹配特定的字符串,应用广泛,特别是在字符串处理方面
正则的应用
验证字符串:验证邮箱格式、验证密码、验证身份证号
查找字符串:查找用户的输入是否有特殊字符
替换字符串:清洗文本数据,例如一些网上的小说
提取字符串:一段文本中提取有用的信息,例如提取身份证号、手机号等
Java中正则相关的类
Pattern类
Matcher类
PatternSyntaxException异常类
正则的使用
String content = "asgdkjhjkahsjdjavaajdhqkw"; //需要匹配的对象 字符串 String pattern = ".*java*.";// 定义正则规则 Pattern p = Pattern.compile(pattern); //创建正则对象 Matcher m = p.matcher(content); //利用正则规则生成Matcher m.find();//从字符串首部开始匹配满足规则的子字符串,匹配成功后,将下一次开始匹配的位置向后移动
Matcher对象常用方法
find(); 部分比配,从当前位置开始匹配,找到一个匹配的子字符串,将移动下一次开始匹配的位置
matchers(); 完全匹配,返回值为boolean,只有当整个字符串都匹配时,才返回true,否则返回false,但是若前段部分匹配成功,后段匹配不成功,那么和find()一样,会移动下一次匹配的位置
lookingAt(); 部分匹配,总是从第一个字符开始匹配,匹配成功了不再继续匹配,匹配失败也不再继续匹配
replaceFirst(); 替换第一个匹配到的子字符串,用于数据的清洗
replaceAll(); 替换匹配到的所有子字符串