现在的位置: 首页 > 综合 > 正文

JAVA学习笔记-正则表达式

2018年05月19日 ⁄ 综合 ⁄ 共 802字 ⁄ 字号 评论关闭

java 正则表达式总结
正则表达式定义:符合一定规则的表达式。
    作用:用于专门操作字符串。
    特点:用于一些特定的符号来表示一些代码操作,这样就简化书写。
正则表达式的具体操作:
1,匹配 String matches()方法.
2,分割 String split()方法.
3,替换 String replaceAll(String regex,String str)
4,获取 
1.将正则表达式封装成对象
Pattern p = Pattern.compile(regex); 
2.正则表达式和要操作的字符串相关联,获得匹配器对象
Matcher m = p.matcher(str);
3.进行符合规则的子串查找
m.find();
4.获取匹配后的结果
m.group();

-----------------------------------------
例:
叠词,aa ,bbb 等
String reg = "(.)\\1+"; //为了让规则的结果被重用,可以把规则放在一个组里面,用()包含起来,如果要调用此组,用"\\1"数字表

示,1代表第一组.如果有多个组,捕获组可以通过从左到右计算其开括号来编号.例如,在表达式 ((A)(B(C))) 中,存在四个这样的

组: 
1     ((A)(B(C))) 
2     (A) 
3     (B(C)) 
4     (C) 
查找出来的叠词可以用来切割
String str = "erkktyqqquizzzzzo";
str.split(reg); //er ty ui o

可以把重复的字符串替换成单个字母
str.replaceAll(reg,"$1");// 用$1来表示已经匹配且提取出来的组

一定要会的例子,对邮件地址校验
String reg = "[a-zA-Z0-9_-]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";//较为精确的匹配
reg = "\\w+@\\w+(\\.\\w+)+";//相对不太精确的匹配

抱歉!评论已关闭.