黑马程序员技术交流社区

标题: 234234234234 [打印本页]

作者: 214652440    时间: 2015-12-12 22:25
标题: 234234234234
本帖最后由 214652440 于 2019-7-4 15:24 编辑

423阿萨德发送2412123123123
作者: 星晴。    时间: 2015-12-12 23:47
用正则解决一些问题可以节省很多代码,入学考试的时候我就遇到过
作者: zhangdazhi186    时间: 2015-12-13 00:07
看了  正则表达式  感觉挺实用
作者: 744919632    时间: 2015-12-13 00:21
正则表达式的语法规则:

        字符: 格式                                                                                                        例如
                x        代表的是字符x,                                                                           "a" --> 需要匹配的内容就是a    12345 -->***45  "123"
                \\  代表的是反斜线字符'\'                                                                "\\" --> 需要匹配的内容就是\
                \t        制表符                                                                                                "\t" --> 对应的效果就是产生一个制表符的空间
                \n  换行符                                                                                                "\n" --> 对应的效果就是换行,光标在原有位置的下一行
                \r  回车符                                                                                                "\r" --> 对应的效果就死回车后的效果,光标来到下一行行首
       
        字符类         :格式                                                                                                例如
                [abc] 代表的是a、b 或 c                                                                 "[abc]" --> 需要匹配的内容就是字符a,或者字符b,或字符c的一个
                [^abc]代表的是除了 a、b 或 c以外的任何字符                                 "[^abc]" -->需要匹配的内容就是不是字符a,或者不是字符b,或不是字符c的任意一个字符
                [a-zA-Z]代表的是a 到 z 或 A 到 Z,两头的字母包括在内        "[a-zA-Z]"-->需要匹配的是一个大写或者小写字母
                [0-9]代表的是 0到9数字,   两头的数字包括在内                        "[0-9]"-->需要匹配的是一个数字  
                [a-zA-Z_0-9]代表的字母或者数字或者下划线(单词字符)                [a-zA-Z_0-9] --> 需求匹配的是一个字母或者是一个数字或一个下滑线
               
        边界匹配器: 格式                                                                                        例如
                ^ 行的开头                                                                                                ^[abc][0-9]$ --> 需要匹配的内容从[abc]这个位置开始, 相当于左双引号
                $ 行的结尾                                                                                                ^[abc][0-9]$ --> 需要匹配的内容以[0-9]这个结束, 相当于右双引号
                \b 单词边界                                                                                                "\\b[abc]\\b"  --> 代表的是字母a、b、c的左右两边需要的是非单词字符
                                                                                                                                        wo shi lkp haha a!
        预定义字符类
                . 任何字符                 就想使用.的话  "\\."来实现
                \d 数字:[0-9]
                \w 单词字符:[a-zA-Z_0-9]
               
                                                        
        数量词:格式                                                                                                        例如:
                X? X,一次或一次也没有                                                                        "a?" ---> 需要匹配的内容是一个字符a,或者一个a都没有       
                X* X,零次或多次                                                                                 "a*" ---> 需要匹配的内容是多个字符a,或者一个a都没有
                X+ X,一次或多次                                                                                 "a+" ---> 需要匹配的内容是多个字符a,或者一个a
                X{n} X,恰好 n 次                                                                                 "a{5}"--> 需要匹配的内容是5个字符a
                X{n,} X,至少 n 次                                                                                 "a{5, }"--> 需要匹配的内容是最少有5个字符a
                X{n,m} X,至少 n 次,但是不超过 m 次                                         "a{5,8}"--> 需要匹配的内容是有5个字符a 到 8个字符a之间
               
        判断功能
        public boolean matches(String regex) 该字符串是否与正则表达式规则相匹配
        分割功能
          public String[] split(String regex) 将字符串使用正则表达式进行分割,返回一个分割后的字符串数组
        替换功能:
          public String replaceAll(String regex, String replacement) 将满足正则表达式规则的字符串内容,用给定的新字符串进行替换,
        获取功能:
                Pattern: 正则表达式对象
                        方法:
                        public static Pattern compile(String regex) 将正则表达式字符串 编译成正则表达式对象       
                        public Matcher matcher(CharSequence input) 使用正则表达式对象与给定的数据进行匹配,将结果封装成对象,匹配器对象
                Matcher: 匹配器对象
                        public boolean find() 在指定的字符串中,查找是否有满足正则表达式条件的子字符串信息
                        public String group() 获取满足正则表达式条件的子字符串
                        public boolean matches()获取指定的字符串与正则表达式规则匹配的结果
       
作者: hrfhwy    时间: 2015-12-13 09:50
很方便,就是不容易理解。如                 String ip="192.168.1.254  102.49.67.9   10.10.10.10  2.2.2.2   8.109.90.30";                 ip=ip.replaceAll("(\\d+)","00$1");                 System.out.println(ip);                 ip=ip.replaceAll("0*(\\d{3})","$1");
作者: hrfhwy    时间: 2015-12-13 09:51
很方便,就是不容易理解。如                 String ip="192.168.1.254  102.49.67.9   10.10.10.10  2.2.2.2   8.109.90.30";                 ip=ip.replaceAll("(\\d+)","00$1");                 System.out.println(ip);                 ip=ip.replaceAll("0*(\\d{3})","$1");
作者: hrfhwy    时间: 2015-12-13 09:51
很方便,就是不容易理解。如                 String ip="192.168.1.254  102.49.67.9   10.10.10.10  2.2.2.2   8.109.90.30";                 ip=ip.replaceAll("(\\d+)","00$1");                 System.out.println(ip);                 ip=ip.replaceAll("0*(\\d{3})","$1");
作者: hrfhwy    时间: 2015-12-13 09:51
很方便,就是不容易理解。如                 String ip="192.168.1.254  102.49.67.9   10.10.10.10  2.2.2.2   8.109.90.30";                 ip=ip.replaceAll("(\\d+)","00$1");                 System.out.println(ip);                 ip=ip.replaceAll("0*(\\d{3})","$1");
作者: 迷茫不堪的年纪    时间: 2015-12-13 19:40
只能说这个博大精深
作者: VisionDo    时间: 2015-12-13 20:02
要全部都记住吗




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2