正規表示式常用總結

2021-07-26 05:01:55 字數 2317 閱讀 1975

表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...