天天看點

正規表達式的用法

正規表達式的用法

<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&gt;=0;

{n,} 比對前導字元至少出現n次,n&gt;=0;

{n,m} 比對前導字元至少出現n次,最多出現m次;m&gt;n&gt;=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

繼續閱讀