A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大可乐 中级黑马   /  2015-5-9 15:25  /  600 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

什么是正则表达式?

1 个回复

倒序浏览
根据毕老师的说法:就是符合一定规则的表达式;

以下是看Java基础视频中关于正则表达式部分,记录的部分笔记:
正则表达式:
        符合一定规则的表达式;
        作用:用于专门操作字符串;
        特点: 用一些特定的符号来表示一些代码操作,简化书写
        好处: 可以简化对字符串的复杂操作
        弊端: 符号定义越多,表达式越长,阅读性越差
       
1、正则表达式——匹配:
        \\ 反斜线,代表 \
        .  一个点,代表任意字符
        [abc] 判断字符串中,某一个字符位上出现的字符
        \w        代表a-zA-Z0-9 的所有字符
        \d        代表 0 - 9 的数字
        {4,14} 代表第4位到14位

示例:
校验QQ:
        String  qq = “123123”;
String  regex = “[1-9][0-9]{4,14}”; // 也可写为: [1-9]\\d{4,14}
        Boolean  flag = qq.mathes(regex);
        If(flag){
                Syso “QQ号正确”
}else{
        Syso “QQ号输入错误”
}
       
        校验手机号:
                String  tel = “13600000001”;
                String  telReg = “1[358]\\d{9}”;  // 1开头 第二位3、5、8,第三位0-9,,第三位的长度9位
               

        2、切割 :
                String . split ( ) ;
                // 切割字符,去掉空格
                String  str  =  “ asd  ee  ssd ” ;
                String  reg  =  “  +” ;  // 去掉多个空格
                String[]  arr  =  str . split ( reg ) ;
                //System . out . println ( arr . length ) ;
                for( String  s : arr ) {
                        System . out . println ( s ) ;
}

用 . 切
String  reg  = “ \\ . ” ;  // 需要用 \\ 把反斜杠转义

\\ 反斜杠
String  path = “C:\\abc\\a.txt”;
String  reg = “\\\\”;   //去掉反斜杠,提取字符
//  叠词切割:
String  dw = “asdwwuiokkkopopzzzzzzasd”;
( . )\\1+    用括号封装 . 号,成为一个组;
这样就能重用第一个 . 的任意结果;
                \ 1  代表引用封装后的第一个结果;也就是和第一个相同
                +  代表这个位置有多个重复的字符;

        按照叠词完成切割,为了可以让规则的结果可以被重用;
        可以将规则封装为一个组,用()完成,组的出现都有编号;
        从1开始,想要使用已有的组可以通过 \n 的形式获取 (n 就是组的编号);
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马