posts - 6,  comments - 4,  trackbacks - 0
          pr("abc".matches(""));
                  pr(
          "a8729a".replaceAll("\\d""-"));
                  Pattern p 
          = Pattern.compile("\\w{3}");
                  Matcher m 
          = p.matcher("dth");
                  pr(m.matches());
                  
                  pr(
          "aaaaaaaa".matches("a*"));
                  pr(
          "aaaa".matches("a+"));
                  pr(
          "".matches("a*"));
                  pr(
          "a".matches("a?"));
                  pr(
          "".matches("a?"));
                  pr(
          "3235364546757555".matches("\\d{3,100}"));
                  pr(
          "192245".matches("\\d{1,3}[0-2][0-9][0-9]"));
                  pr(
          "a".matches("[^fjkl]"));
                  pr(
          "R".matches("[A-Z&&[RFG]]"));
                  pr(
          "shivareemmsdo_1018".matches("\\w{6,20}"));
                  pr(
          "\\".matches("\\\\{0,5}"));
                  
                  pr(
          "hello sir!".matches("^h.*"));
                  pr(
          "hello sir!".matches(".*r!$"));
                  pr(
          "hello sir!".matches("^h[a-z]{1,}\\b.*r!$"));
                  pr(
          "hello sir!".matches("^h.*r!$"));


          輸出結果:
          ---------------------------------
          true
          a----a
          true
          true
          true
          true
          true
          true
          true
          true
          true
          true
          true
          true
          true
          true
          true
          true
          ----------------------------------


          概要:

          -------------------------------------------------------------------------------------------------

          正則表達式涉及的三個類
          java.lang.String;
          java.util.regex.Mather;
          java.util.regex.Pattern;

          * 零次或多次
          + 一此或多次
          ?零次或一次


          在JAVA中“\”需要“\\”來表示
          在正則表達式中一個“\”需要“\\\\”來表示

          “^”位于[]里意思是取反,位于[]外面意思是輸入都開始。$代表結尾。



          ---------------------------------------------------------------------------------------------------


          IP和身份證的例子:

          ---------------------------------------------------------------------------------------------------

          用正則表達式驗證ip地址和身份證代碼實例如下:
          <script language="javascript">
          function checkIP()
          {
          obj=document.getElementById("ip").value
          //ip地址
          //var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1

          \d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
          //身份證
          //var exp=/\b(((?!\d\d\d)\d+|1\d\d|2[0-4]\d|25[0-5])(\b|\.)){4}/
          //var exp=/^(\d{15}|\d{17}[x0-9])/
          var exp=/^([\d]{15}|[\d]{18}|[\d]{17}[x|X])$/
          var reg = obj.match(exp);
          if(reg==null)
          {
          alert("IP地址不合法!");
          }
          else
          {
          alert("IP地址合法!");
          }
          }
          </script>
          請輸入IP地址:<input type="text" id="ip">
          <input type="button" onclick="checkIP()" value="驗證"> 

          ----------------------------------------------------------------------------------------------------






          字符
          x 字符 x
          \\ 反斜線字符
          \0n 帶有八進制值 0 的字符 n (0 <= n <= 7)
          \0nn 帶有八進制值 0 的字符 nn (0 <= n <= 7)
          \0mnn 帶有八進制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7)
          \xhh 帶有十六進制值 0x 的字符 hh
          \uhhhh 帶有十六進制值 0x 的字符 hhhh
          \t 制表符 ('\u0009')
          \n 新行(換行)符 ('\u000A')
          \r 回車符 ('\u000D')
          \f 換頁符 ('\u000C')
          \a 報警 (bell) 符 ('\u0007')
          \e 轉義符 ('\u001B')
          \cx 對應于 x 的控制符
           
          字符類
          [abc] abc(簡單類)
          [^abc] 任何字符,除了 abc(否定)
          [a-zA-Z] azAZ,兩頭的字母包括在內(范圍)
          [a-d[m-p]] admp[a-dm-p](并集)
          [a-z&&[def]] def(交集)
          [a-z&&[^bc]] az,除了 bc[ad-z](減去)
          [a-z&&[^m-p]] az,而非 mp[a-lq-z](減去)
           
          預定義字符類
          . 任何字符(與行結束符可能匹配也可能不匹配)
          \d 數字:[0-9]
          \D 非數字: [^0-9]
          \s 空白字符:[ \t\n\x0B\f\r]
          \S 非空白字符:[^\s]
          \w 單詞字符:[a-zA-Z_0-9]
          \W 非單詞字符:[^\w]
           
          POSIX 字符類(僅 US-ASCII)
          \p{Lower} 小寫字母字符:[a-z]
          \p{Upper} 大寫字母字符:[A-Z]
          \p{ASCII} 所有 ASCII:[\x00-\x7F]
          \p{Alpha} 字母字符:[\p{Lower}\p{Upper}]
          \p{Digit} 十進制數字:[0-9]
          \p{Alnum} 字母數字字符:[\p{Alpha}\p{Digit}]
          \p{Punct} 標點符號:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
          \p{Graph} 可見字符:[\p{Alnum}\p{Punct}]
          \p{Print} 可打印字符:[\p{Graph}\x20]
          \p{Blank} 空格或制表符:[ \t]
          \p{Cntrl} 控制字符:[\x00-\x1F\x7F]
          \p{XDigit} 十六進制數字:[0-9a-fA-F]
          \p{Space} 空白字符:[ \t\n\x0B\f\r]

          正則表達式的分組:

          Pattern p = Pattern.compile("(\\d{3,5})([a-z]{2})");
          String s = "123aa-34345bb-234cc-00";
          Matcher m = p.matcher(s);
          while(m.find()){
              System.out.println(m.group(1));
              System.out.println(m.group(2));
          }
          posted on 2009-04-06 14:52 shivaree 閱讀(228) 評論(3)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 甘洛县| 乌鲁木齐市| 深圳市| 北安市| 崇礼县| 罗甸县| 朔州市| 会东县| 江油市| 墨玉县| 应用必备| 江西省| 临颍县| 孝感市| 沙坪坝区| 英吉沙县| 南木林县| 云阳县| 清流县| 富锦市| 武安市| 水城县| 盖州市| 祥云县| 赣榆县| 和田县| 柳河县| 石河子市| 璧山县| 贵南县| 广元市| 杂多县| 武清区| 茂名市| 通道| 呼伦贝尔市| 綦江县| 高台县| 长白| 凤山市| 白银市|