表1 常用的元字元
**說明
.匹配除換行符以外的任意字元
\w匹配字母或數字或下劃線或漢字
\s匹配任意的空白符,包括空格,製表符(tab),換行符,中文全形空格等。
\d匹配數字
\b匹配單詞的開始或結束
^匹配字串的開始
$匹配字串的結束
.* 在一起就意味著任意數量的不包含換行的字元
- 只匹配它本身,連字元
例子:\bhi\b.*\blucy\b 匹配這樣的字串:先是乙個單詞hi,然後是任意個任意字元(但不能是換行),最後是lucy這個單詞
0\d\d-\d\d\d\d\d\d\d\d 匹配這樣的字串:以0開頭,然後是兩個數字,然後是乙個連字型大小「-」,最後是8個數字
0\d-\d。 這裡\d後面的()的意思是前面\d必須連續重複匹配2次(8次)。
\ba\w*\b 匹配以字母a開頭的單詞——先是某個單詞開始處(\b),然後是字母a,然後是任意數量的字母或數字(\w*),最後是單詞結束處(\b)。
(單詞:就是不少於乙個的連續的\w。)
\d+ 匹配1個或更多連續的數字。這裡的+是和*類似的元字元,不同的是*匹配重複任意次(可能是0次),而+則匹配重複1次或更多次。
\b\w\b 匹配剛好6個字元的單詞。
^\d$ 必須是5到12個數字
和忽略大小寫的選項類似,有些正規表示式處理工具還有乙個處理多行的選項。如果選中了這個選項,^和$的意義就變成了匹配行的開始處和結束處。 \
轉義(使它後面的字元代表它本身)
例子:
deerchao\.net 匹配deerchao.net
c:\\windows 匹配c:\windows。
表2 常用的限定符
**說明
**前面的內容可以連續重複使用任意次(可能是0次)
+匹配重複1次或更多次
?重複0次或1次
重複n次
重複n次或更多次
重複n到m次
例子:
windows\d+ 匹配windows後面跟1個或更多數字
^\w+ 匹配一行的第乙個單詞(或整個字串的第乙個單詞,具體匹配哪個意思得看選項設定)
表3字元類
**說明
[aeiou]
匹配任何乙個英文母音字母
[.?!]
匹配標點符號(.或?或!)
[0-9]
與\d一致
[a-z0-9a-z_]
\w(如果只考慮英文的話)
例子:
\(?0\d[) -]?\d
這個表示式可以匹配幾種格式的**號碼,像(010)88886666,或022-22334455,或02912345678等。我們對它進行一些分析吧:首先是乙個轉義字元\(,它能出現0次或1次(?),然後是乙個0,後面跟著2個數字(\d),然後是)或-或空格中的乙個,它出現1次或不出現(?),最後是8個數字(\d)。
不幸的是,剛才那個表示式也能匹配010)12345678或(022-87654321這樣的「不正確」的格式。要解決這個問題,我們需要用到分枝條件。正規表示式裡的分枝條件指的是有幾種規則,如果滿足其中任意一種規則都應該當成匹配,具體方法是用|把不同的規則分隔開。
0\d-\d|0\d-\d
這個表示式能
匹配兩種以連字型大小分隔的**號碼:一種是三位區號,8位本地號(如010-12345678),一種是4位區號,7位本地號(0376-2233445)。
\(?0\d\)?[- ]?\d|0\d[- ]?\d這個表示式匹配3位區號的**號碼,其中區號可以用小括號括起來,也可以不用,區號與本地號間可以用連字型大小或空格間隔,也可以沒有間隔。你可以試試用分枝條件把這個表示式擴充套件成也支援4位區號的。
重複單個字元時在後面加上限定符就可以,重複多個字元時需要用小括號來指定子表示式(也叫做分組)。
例子:
(\d\.)\d是乙個簡單的ip位址匹配表示式:\d匹配1到3位的數字,(\d\.)匹配三位數字加上乙個英文句號(這個整體也就是這個分組)重複3次,最後再加上乙個一到三位的數字(\d)。
正規表示式 常用正規表示式
一 校驗數字的表示式 1 數字 0 9 2 n位的數字 d 3 至少n位的數字 d 4 m n位的數字 d 5 零和非零開頭的數字 0 1 9 0 9 6 非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 7 帶1 2位小數的正數或負數 d d 8 正數 負數 和小數 d d 9 有兩位小數的...
正規表示式 常用正規表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 4 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 或者 1 3...
正規表示式常用
正規表示式的介紹 1 資料型別 基本資料型別 number string boolean null undefined 複雜資料型別 array function object math date regexp正規表示式 string number boolean 2 regular express...