正規表達式的用法
<b>正規表達式的作用主要有三:</b><b></b>
<b></b>
驗證數字是否符合特定模式;
利用正規表達式找到特定文本而後删除或者替換文本;
按模式比對在字元串中查找查找比對子字元串。
正規表達式就是有普通字元以及特殊字元(稱為元字元)組成的文字模式。元字元前面的字元稱為前導符,元字元按功能又分為限定符、定位符等類别,下面對常用的元字元進行清單說明。
<b>常見元字元</b><b></b>
<b>說明</b><b></b>
\s 比對單個空格,包括tab鍵和換行符
\S 比對出單個空格符之外的所有字元,\S與\s互為逆運算
\d 比對從0~9的數字
\w 比對字母,數字或者下劃線字元
\W 比對所有與\w不比對的字元,\W與\s互為逆運算
\cx 比對由x指明的控制字元。
\f 比對一個換頁符,等價與\x0c和\cL
\n 比對一個換行符,等價于\x0a和\cJ
\r 比對一個回車符,等價于\x0d和\cM
\t 比對一個制表符,等價于\x09和\cI
\v 比對一個垂直制表符。等價于\x0b和\cK
<b>. </b>用于比對除換行符之外的所有字元
<b>常見限定符說明</b><b></b>
* 比對前導字元出現零次或者多次
+ 比對前導字元出現一次或者多次
? 比對前導字元出現零次或者一次
{n} 比對前導字元出現n次,n>=0;
{n,} 比對前導字元至少出現n次,n>=0;
{n,m} 比對前導字元至少出現n次,最多出現m次;m>n>=0;
<b>定位符說明</b><b></b>
^ 比對模式必須出現在目标字元串開頭
$ 比對模式必須出現在目标的結尾
\b 比對模式必須出現在目标字元串的開頭或者結尾的兩個邊界之一
\B 比對對象必須位于目标字元串的開頭和結尾的兩個邊界之内,即比對對象既不能作為目标字元串的開頭,也不能作為目标字元串的結尾
<b>正規表達式比對模式的範圍指定符</b><b></b>
<b>[]</b> 限定的模式指定了其中一個字元的出現的可能。如/[A-Z]/表示比對從A到Z任何一個字元;
<b>() </b>限定的模式指定()裡包含的内容必須同時出現在對象中。如/(abc)[0-9]/意思是目标字元串中出現的abc1,abc2...abc9中9個中的任何一個,而不是ab1,a2等;
<b>|</b> 類似于邏輯運算中的“或”運算,如:/sb|a/表示與目标對象的"sb","a"中任何一個相比對;
當^符出現在[]中時,表示取否定運算。
字元轉義與優先級順序
在比對模式需要使用元字元時,需要使用轉移字元“\+元字元”表示,如查找“12*”模式,我們可以使用/12\*/表示;
正規表達式在比對過程中是按照從左向右的順序進行的,其操作符具有一定的優先級順序
<b>優先級順序</b><b></b>
優先級 操作符 說明
1 \ 轉義符
2 (),(?:),(?=),[] 圓括号和方括号
3 *,+,?,{n},{n,},{n,m} 限定符
4 ^,$,\anyMatchcharacter 位置順序
5 | 或操作
本文轉自 zhao_xiao_long 51CTO部落格,原文連結:http://blog.51cto.com/computerdragon/1166316