正規表示式結構簡介:
字元:x 字元 x
// 反斜槓
/0n 十進位制數 (0 <= n <= 7)
/0nn 十進位制數 0nn (0 <= n <= 7)
/0mnn 十進位制數 0mnn (0 <= m <= 3, 0 <= n <= 7)
/xhh 十六進製制數 0xhh
/uhhhh 十六進製制數 0xhhhh
/t 製表符 ('/u0009')
/n 換行符 ('/u000a')
/r 回車符 ('/u000d')
/f the form-feed character ('/u000c')
/a the alert (bell) character ('/u0007')
/e esc符號 ('/u001b')
/cx x 對應的控制符
字元類[abc] a, b, 或 c (簡單字串)
[^abc] 除了 a, b, 或 c 之外的任意字元(否定)
[a-za-z] 從a 到 z 或 從a 到 z(包括a,z,a,z)(範圍)
[a-d[m-p]] 從a 到 d, 或 從m 到 p: [a-dm-p] (並集)
[a-z&&[def]] d, e, 或 f (交集)
[a-z&&[^bc]] 從a 到 z, 但 b 和 c 除外: [ad-z] (子集)
[a-z&&[^m-p]] 從a 到 z, 不包括從 m 到 p: [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 only)
/p 小寫字母字元: [a-z]
/p 大寫字母字元:[a-z]
/p 所有 ascii:[/x00-/x7f]
/p 單個字母字元:[/p/p]
/p 十進位制數: [0-9]
/p 單個字元:[/p/p]
/p 標點符號: 包括 !"#$%&'()*+,-./:;<=>?@[/]^_`~
/p 可視字元: [/p/p]
/p 可列印字元: [/p]
/p 空格或製表符: [ /t]
/p 控制字元: [/x00-/x1f/x7f]
/p 十六進製制數: [0-9a-fa-f]
/p 空字元: [ /t/n/x0b/f/r]
unicode 字元類
/p 希臘語種的字元 (****** block)
/p 大寫字母 (****** category)
/p 貨幣符號
/p 除希臘語種字元外的任意字元 (negation)
[/p&&[^/p]] 除大寫字母外的任意字元 (subtraction)
邊界匹配器
^ 一行的開始
$ 一行的結束
/b 單詞邊界
/b 非單詞邊界
/a 輸入的開始
/g 當前匹配的結束
/z the end of the input but for the final terminator, if any
/z 輸入的結束
greedy quantifiers
貪婪匹配量詞 (greedy quantifiers )(不知道翻譯的對不對)
x? x不出現或出現一次
x* x不出現或出現多次
x+ x至少出現一次
x x出現n次
x x至少出現n次
x x至少出現n次,但不會超過m次
reluctant quantifiers
x?? x, 不出現或出現一次
x*? x, 不出現或出現多次
x+? x, 至少出現一次
x? x, 出現n次
x? x, 至少出現n次
x? x, 至少出現n次,但不會超過m次
possessive quantifiers
x?+ x, 不出現或出現一次
x*+ x, 不出現或出現多次
x++ x, 至少出現一次
x+ x, 出現n次
x+ x, 至少出現n次
x+ x, 至少出現n次,但不會超過m次
邏輯運算子
xy y跟在x後面
x|y x 或 y
(x) x, as a capturing group
反向 引用
/n whatever the nth capturing group matched
quotation
/ 引用後面的字元
/q 引用所有的字元直到 /e 出現
/e 結束以 /q 開始的引用
special constructs (non-capturing)
(?:x) x, as a non-capturing group
(?idmsux-idmsux) 匹配標誌開關
(?idmsux-idmsux:x) x, as a non-capturing group with the given flags on
- off
(?=x) x, via zero-width positive lookahead
(?!x) x, via zero-width negative lookahead
(?<=x) x, via zero-width positive lookbehind
(?x) x, as an independent, non-capturing group
backslashes, escapes, and quoting
反斜槓字元('/')用來轉義,就 像上面的表中定義的那樣,如果不這樣做的話可能會產生
歧義。因此,表示式//匹配
單個反斜槓,表示式/將會匹配,
而/p將不會匹配。塊通 過字首in指定,作為在nmongolian之中。
分類通過任意的字首is指定: /p 和 /p 都引用 unicode 字母。塊和分類可以
被使用在字元類的內部或外部。
the unicode standard, version 3.0 指出了支援的塊和分類。塊的名字在第14章和 unicode character
database中的 blocks-3.txt 檔案定義,
但空格被剔除了。例如basic latin"變成了 "basiclatin"。分類的名字被定義在88頁
,表4-5。
comparison to perl 5
pattern 類不支援的perl構造:
條件構造 (?) 和 (?(condition)x|y),
嵌入**構造 (?) 和 (??),
嵌入注釋語法 (?#comment), 和
操作預處理 /l /u, /l, and /u.
Java正規表示式
方便查詢的東西 基本語法 轉義字元 in d d d 數字0 9 多少到多少 d 非數字 0 9 非 w 單詞字元 a za z0 9 a3 w 非單詞字元 w s 空白 如 n t 0 1次 1 n次 0 n次 必須是n次 大於等於n次 n demo 中文 u0391 uffe5 英文 a za ...
Java正規表示式
舉例說明 the 開頭一定要有 the 字串 of despair 結尾一定要有 of despair 的字串 那麼,abc 就是要求以abc開頭和以abc結尾的字串,實際上是只有abc匹配。notice 匹配包含notice的字串。你可以看見如果你沒有用我們提到的兩個字元 最後乙個例子 就是說 模...
JAVA 正規表示式
size 12px 1。d 匹配非負整數 正整數 0 2。0 9 1 9 0 9 匹配正整數 3。d 0 匹配非正整數 負整數 0 4。0 9 1 9 0 9 匹配負整數 5。d 匹配整數 6。d d 匹配非負浮點數 正浮點數 0 7。0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 ...