blogspot.com-GA4

星期四, 3月 27, 2008

Java Regular Expression 正規化表達式

Java Regular Expression的學習筆記

CSDN技術中心 正則表達式高級學習技巧

The 30 Minute Regex Tutorial - The Code Project - .NET

msdn regexp refs in JScript

msdn regexp refs中文版

揭開正則表達式的神秘面紗

正則表達式話題 - Regular Expression Topics

外部測試REs工具 :
eclipse的plugin Regex tester



1. ^
寫在 pattern 第一個位置時,表示其後一符號必須出現在字串開頭的位置。寫在 pattern 中間位置時則為否定之意,表示字串中不可有 ^ 之後一符號的內容。
2. $
寫在 pattern 最後一個位置時,表示其前一符號必須出現在字串尾端的位置。寫在 pattern 中時無特別意義。
3. *
表示字串中有 0 到無數個其前一符號的內容。
4. +
表示字串中有 1 到無數個其前一符號的內容。
5. ?
表示字串中有 0 到 1個其前一符號的內容。
6. { }
表示前一符號在字串中的重覆次數。例如 /A{2}/ 表示 'A' 重覆兩次 (即 'AA') ;/A{2,}/ 表示字串含有 2 到無數多個 'A' ;/A{2,5}/ 表示含有 2 到 5 個 'A' 。
7. .
表示一個任意字元。
8. [ ]
表示字串含有括號中任一字元的內容。可以 - 表示一組連續字元,例如 /[a-z]/, /[0-9]/ 。注意, [] 僅代表一個字元,例如 /[abc]/ 表示 'a' 或 'b' 或 'c' ,而不是 'abc' 。
9. ( )
表示一個 sub pattern ,符合 sub pattern 的字串內容會被存放在匹配陣列中,並依序指派數字代表此 sub pattern 。可以此數字在 pattern 的其他地方引用內容,例如 /The h([0-9]) means Title (\1)/ 表示第 1 個 sub pattern 是 0 到 9 的任一字元,而 \1 表示匹配的內容。故 'The h1 means Title 1', 'The h2 means Title 2' 到 'The h9 means Title 9' 符合規則。
10. \
表示轉義 (escaping) ,將其後的字元視為一般字元。例如要表示字串中含有 '/' 字元時,就必須寫作 /\// 。
11. |
「或」意,字串中含有 '|' 之前一符號或後一符號的內容。例如 /image\.(jpg|png)/ 表示 'image.jpg' 或 'image.png' 。通常會用 () 括住 '|' 的前後符號。
12. \d
表示任何一個數字,意同 [0-9] 。
13. \D
表示任何一個非數字,意同 [^0-9] 。
14. \w
表示任何一個字元與數字以及 '_' ,意同 [a-zA-Z0-9_] 。
15. \W
表示任何一個 \w 以外的字元。
16. \s
表示任何一個空白符號,包括 \t, \v 等。
17. \S
表示任何一個非空白符號。

沒有留言: