_yzx_吧 关注:1贴子:265
  • 23回复贴,共1

__正则表达式__

只看楼主收藏回复

[XXX] 规定某一位置允许出现的字符
[^XXX] 规定某一个位置不允许出现的字符


1楼2014-05-11 17:46回复
    字符组简记:


    2楼2014-05-11 17:54
    收起回复
      区间量词,规定字符出现的具体次数:


      4楼2014-05-11 18:19
      回复
        ()的使用 规定一个字符串总共出现的次数


        5楼2014-05-11 18:26
        收起回复
          多选结构


          6楼2014-05-11 18:36
          收起回复
            捕获分组:
            String em="yzx_world@gmail.com"; //验证字符串
            String re="(\\w+)@([\\w]+)\\.com"; //正则表达式
            Pattern p = Pattern.compile(re);
            Matcher m = p.matcher(em);
            System.out.println(m.matches());
            System.out.println(m.group(1)); //--->>yzx_world
            System.out.println(m.group(2)); //--->>gmail
            System.out.println(m.group(3)); //出错 下标越界


            7楼2014-05-11 21:16
            收起回复
              不捕获分组的括号 (可以提高效率,不推荐使用,只有当捕获分组严重影响效率时才用)
              格式: (?:XXX)
              没啥用就是提高效率


              8楼2014-05-11 21:44
              回复
                反向引用:
                \\1 表示引用上一个的(括号里的?)表达式
                <h1>sdfsfsdfsdf</h1>
                <h1>sdfsfsdfsdf</h2>
                例如验证上边两个前后标签是否一致
                <(\\w+)>[^<]+</(\\1)>
                里边的\\1就匹配左边的\\w+


                9楼2014-05-11 21:52
                收起回复
                  锚点:
                  \b:规定其一侧必须出现单词字符,一侧不能出现单词字符
                  例如:
                  String s="this sentence contains cat";
                  String ss="this sentence contains cats";
                  String regex="(.|\\s)*\\bcat\\b(.|\\s)*";
                  其中正则语句regex就能判断出cat两边是否有字符,从而精准判断是否包含cat单词


                  10楼2014-05-11 22:20
                  收起回复
                    ^ 匹配一行的开头
                    $ 匹配一行的末尾
                    \A 匹配整个字符串的开头
                    \Z 匹配整个字符串的结尾
                    一般情况下 ^等价于\A $等价于\Z


                    11楼2014-05-11 22:29
                    收起回复
                      环视: (左边能这样或不能这样,右边能这样或不能这样)


                      12楼2014-05-11 22:47
                      收起回复
                        匹配模式:
                        Pattern.compile("", Pattern.CASE_INSENSITIVE); //不区分大小写模式
                        int 点号通配模式 = Pattern.DOTALL;
                        int 多行模式=Pattern.MULTILINE; //^和$可以匹配多行的开头和结尾


                        13楼2014-05-12 10:08
                        回复