一些簡單正規表示式的用法

2021-05-25 01:31:09 字數 1414 閱讀 7475

1.什麼是正規表示式?

在編寫處理字串的程式或網頁時,經常會有查詢符合某些複雜規則的字串的需要。正規表示式就是用於描述這些規則的工具。換句   話 說,正規表示式就是記錄文字規則的**。

常用的元字元

**說明

.匹配除換行符以外的任意字元

/w匹配字母或數字或下劃線或漢字

/s匹配任意的空白符

/d匹配數字

/b匹配單詞的開始或結束

^匹配字串的開始

$匹配字串的結束

比如:/b/w/b

匹配剛好6個字元的單詞  

乙個**如果要求你填寫的qq號必須為5位到12位數字時,可以使用:^/d$

字元轉義

如果你想查詢元字元本身的話,比如你查詢.

,或者*

,就出現了問題:你沒辦法指定它們,因為它們會被解釋成別的意思。這時你就得使用/

來取消這些字元的特殊意義。因此,你應該使用/.

和/*。當然,要查詢/

本身,你也得用//

.例如:unibetter/.com

匹配unibetter.com

,c://windows

匹配c:/windows

常用的限定符

*重複零次或更多次

+重複一次或更多次

?重複零次或一次

重複n次

重複n次或更多次

重複n到m次

要想查詢數字,字母或數字,空白是很簡單的,因為已經有了對應這些字元集合的元字元,但是如果你想匹配沒有預定義元字元的字元集合(比如母音字母a,e,i,o,u),應該怎麼辦?

很簡單,你只需要在方括號裡列出它們就行了,像[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

)。可以參考如下**

正規表示式的一些簡單用法

1.字元類 x 字元 x abc a b 或 c 簡單類 abc 任何字元,除了 a b 或 c 否定 0 9 表示可以出現0 9中任意乙個數字 0 9 a za z a 到 z 或 a 到 z,兩頭的字母包括在內 範圍 a za z 0 9 小寫字母大寫字母數字都可以 2.預定義字元類 d 數字 ...

正規表示式的一些用法

從學習開始,老師就對正則表示出不重視,作為學生多少受些影響 說的是以後需要什麼正則網上一搜一大堆 再次看到正則,發現懵懵懂懂,就決定將看見的寫下來,備以後整理出完整的.為取負值限制,例 a,匹配不為a的,注意 必須寫在首位,如果為 a則是匹配 a xn 匹配 n,其中 n 為十六進製制轉義值。十六進...

PHP 簡單正規表示式的使用

1 讓我們看看兩個特別的字元 和 他們是分別用來匹配字串的開始和結束,以下分別舉例說明 the 匹配以 the 開頭的字串 of despair 匹配以 of despair 結尾的字串 abc 匹配以abc開頭和以abc結尾的字串,實際上是只有abc與之匹配 notice 匹配包含notice的字...