1、正則表達式(regular expression)
是一種字符串匹配的模式,用來檢查一個字符串中是否包含指定模式的字符串。
2、正則表達式的創(chuàng)建
var reg = /white/;var reg = new RegExp("white","g");3、正則表達式的修飾符
g 執(zhí)行全局匹配(查找所有匹配而非在找到第一個匹配后停止)。
i 不區(qū)分大小寫
m 多行匹配
4、正則表達式符號
方括號:方括號用于查找某個范圍內的字符:
[abc] 查找方括號之間的任何字符。
[^abc] 查找任何不在方括號之間的字符。
[0-9] 查找任何從 0 至 9 的數字。
[a-z] 查找任何從小寫 a 到小寫 z 的字符。
[A-Z] 查找任何從大寫 A 到大寫 Z 的字符。
[A-z] 查找任何從大寫 A 到小寫 z 的字符。
[adgk] 查找給定集合內的任何字符。
[^adgk] 查找給定集合外的任何字符。
(red|blue|green) 查找任何指定的選項。
元字符:元字符(Metacharacter)是擁有特殊含義的字符:
/…/ 代表一個模式的開始和結束
^ 匹配字符串的開始
$ 匹配字符串的結束
/s 任何空白字符
/S 任何非空白字符
/d 匹配一個數字字符,等價于[0-9]
/D 除了數字之外的任何字符,等價于[^0-9]
/w 匹配一個數字、下劃線或字母字符,等價于[A-Za-z0-9_]
/W 任何非單字字符,等價于[^a-zA-z0-9_]
. 除了換行符之外的任意字符
正則表達式重復字符(量詞)
{n} 匹配前一項n次
{n,} 匹配前一項n次,或者多次
{n,m} 匹配前一項至少n次,但是不能超過m次
* 匹配前一項0次或多次,等價于{0,}
+ 匹配前一項1次或多次,等價于{1,}
? 匹配前一項0次或1次,也就是說前一項是可選的,等價于{0,1}
5、RegExp對象的屬性
global RegExp對象是否具有標志g,它聲明了給定的正則表達式是否執(zhí)行全局匹配。
ignoreCase RegExp對象是否具有標志i,它聲明了給定的正則表達式是否執(zhí)行對大小寫不敏感的匹配。
multiline RegExp對象是否具有標志m,它聲明了給定的正則表達式是否執(zhí)行多行匹配。
6、RegExp對象的方法
1、exec 檢索字符中是正則表達式的區(qū)配,返回找到的值,并確定其位置
exec()
exec() 方法檢索字符串中的指定值。返回值是被找到的值。如果沒有發(fā)現匹配,則返回 null。
例子 1:
var patt1=new RegExp("e"); document.write(patt1.exec("The best things in life are free")); 由于該字符串中存在字母 "e",以上代碼的輸出將是:e
新聞熱點
疑難解答
圖片精選