一些簡單正則表達式的用法

   1.什麼是正則表達式?

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

  常用的元字符

 

代碼說明
. 匹配除換行符以外的任意字符
/w 匹配字母或數字或下劃線或漢字
/s 匹配任意的空白符
/d 匹配數字
/b 匹配單詞的開始或結束
^ 匹配字符串的開始
$ 匹配字符串的結束

 比如:/b/w{6}/b 匹配剛好6個字符的單詞  

       一個網站如果要求你填寫的QQ號必須爲5位到12位數字時,可以使用:^/d{5,12}$

字符轉義

如果你想查找元字符本身的話,比如你查找.,或者*,就出現了問題:你沒辦法指定它們,因爲它們會被解釋成別的意思。這時你就得使用/來取消這些字符的特殊意義。因此,你應該使用/./*。當然,要查找/本身,你也得用//.

例如:unibetter/.com匹配unibetter.comC://Windows匹配C:/Windows

 

 常用的限定符

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

* 重複零次或更多次
+ 重複一次或更多次
? 重複零次或一次
{n} 重複n次
{n,} 重複n次或更多次
{n,m} 重複n到m次

 

字符類

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

很簡單,你只需要在方括號裏列出它們就行了,像[aeiou]就匹配任何一個英文元音字母[.?!]匹配標點符號(.或?或!)

我們也可以輕鬆地指定一個字符範圍,像[0-9]代表的含意與/d就是完全一致的:一位數字;同理[a-z0-9A-Z_]也完全等同於/w(如果只考慮英文的話)。

下面是一個更復雜的表達式:/(?0/d{2}[) -]?/d{8}

“(”和“)”也是元字符,後面的分組節裏會提到,所以在這裏需要使用轉義

這個表達式可以匹配幾種格式的電話號碼,像(010)88886666,或022-22334455,或02912345678等。我們對它進行一些分析吧:首先是一個轉義字符/(,它能出現0次或1次(?),然後是一個0,後面跟着2個數字(/d{2}),然後是)-空格中的一個,它出現1次或不出現(?),最後是8個數字(/d{8})。

 …………

可以參考如下網站 http://www.jb51.net/tools/zhengze.html

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章