Jafe Lee

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            49 隨筆 :: 0 文章 :: 24 評論 :: 0 Trackbacks
          1、元字符(metacharacters):元字符是指那些可以代表特殊含義的字符,java.util.regex支持的元字符包括([{\^-$|]})?*+.。注意,在某些時候這些特殊的字符并不一定代表特殊含義,例如 - 在[a-c]中是元字符,但在 a-c 則不表示特殊含義。不過上面沒列出的字符則一定不會代表特殊含義。

          2、可以對元字符進行轉義,主要有兩種方法:
          • 在元字符前面加一個反斜杠 (backslash)\
          • 用 \Q 和 \E包含起來,例如 \? == \Q?\E
          3、Character Classes :這里的class并不是Java中的class,在正則表達式中,一個character class是由一系列包含在方括號中的字符組成,它能在輸入的一系列字符串中匹配一個字符,例如[a-d]匹配a, b, c, d,中的任何一個字符。再看下面一個例子(摘自java.sun.com

          Character Classes
          [abc] a, b, or c (simple class)
          [^abc] Any character except a, b, or c (negation)
          [a-zA-Z] a through z, or A through Z, inclusive (range)
          [a-d[m-p]] a through d, or m through p: [a-dm-p] (union)
          [a-z&&[def]] d, e, or f (intersection)
          [a-z&&[^bc]] a through z, except for b and c: [ad-z] (subtraction)
          [a-z&&[^m-p]] a through z, and not m through p: [a-lq-z] (subtraction)

          4、Character Classes 之間的運算:從上面的表格也可以看出 character classes包含了幾個跟集合操作很相似的操作:例如negation(補)、union(并)、intersection(交)、subtraction(差)。由上面的表格也可以看出兩個Character Classes之間的運算只需要簡單地將一個Character Classes嵌入到另一個Character Classes并使用正確的操作符就可以了。

          5、Predefined Character Classes:java.util.regex.* 包含了一些預先定義的 Character Classes,在實際中可以很方便地運用:(摘自 java.sun.com )

          Predefined Character Classes
          . Any character (may or may not match line terminators)
          \d A digit: [0-9]
          \D A non-digit: [^0-9]
          \s A whitespace character: [ \t\n\x0B\f\r]
          \S A non-whitespace character: [^\s]
          \w A word character: [a-zA-Z_0-9]
          \W A non-word character: [^\w]

          posted on 2007-12-10 09:58 Jafe Lee 閱讀(520) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 安国市| 达州市| 乐平市| 云安县| 定南县| 体育| 安达市| 天镇县| 马边| 工布江达县| 无为县| 大洼县| 长春市| 塔城市| 大渡口区| 扎鲁特旗| 宜昌市| 嘉兴市| 连山| 阿尔山市| 九龙坡区| 酉阳| 饶河县| 钦州市| 冀州市| 海安县| 三门峡市| 玛沁县| 江山市| 宁都县| 宣威市| 普定县| 泾川县| 泽普县| 乌兰察布市| 临猗县| 长春市| 维西| 峨眉山市| 社旗县| 大邑县|