生活随笔
收集整理的這篇文章主要介紹了
[JavaScript] 正则表达式
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?簡單模式
?????創(chuàng)建:?
一個文本格式或正則表達式構(gòu)造函數(shù)?
文本格式:?/pattern/flags?
正則表達式構(gòu)造函數(shù):?new?RegExp("pattern"[,"flags"]);?
?????參數(shù)說明:?
pattern?--?一個正則表達式文本?
flags?--?如果存在,將是以下值:?
g:?全局匹配?
i:?忽略大小寫?
gi:?以上組合
例:
var re=/?? /
var re=/? /g匹配全部空格
var re=/web/gi??? 不區(qū)分大小寫 并且是全局搜索
[注意]?文本格式的參數(shù)不用引號,而在用構(gòu)造函數(shù)時的參數(shù)需要引號。如:/ab+c/i?new?RegExp("ab+c","i")是實現(xiàn)一樣的功能。在構(gòu)造函數(shù)中,一些特殊字符需要進行轉(zhuǎn)意(在特殊字符前加"\")。如:re?=?new?RegExp("\\w+")?
正則表達式中的特殊字符
| 字符 | 含意 | | \ | 做為轉(zhuǎn)意,即通常在"\"后面的字符不按原來意義解釋,如/b/匹配字符"b",當b前面加了反斜桿后/\b/,轉(zhuǎn)意為匹配一個單詞的邊界。 -或- 對正則表達式功能字符的還原,如"*"匹配它前面元字符0次或多次,/a*/將匹配a,aa,aaa,加了"\"后,/a\*/將只匹配"a*"。 | | ^ | 匹配一個輸入或一行的開頭,/^a/匹配"an A",而不匹配"An a" | | $ | 匹配一個輸入或一行的結(jié)尾,/a$/匹配"An a",而不匹配"an A" | | * | 匹配前面元字符0次或多次,/ba*/將匹配b,ba,baa,baaa | | + | 匹配前面元字符1次或多次,/ba*/將匹配ba,baa,baaa | | ? | 匹配前面元字符0次或1次,/ba*/將匹配b,ba | | (x) | 匹配x保存x在名為$1...$9的變量中 | | x|y | 匹配x或y | | {n} | 精確匹配n次 | | {n,} | 匹配n次以上 | | {n,m} | 匹配n-m次 | | [xyz] | 字符集(character set),匹配這個集合中的任一一個字符(或元字符) | | [^xyz] | 不匹配這個集合中的任何一個字符 | | [\b] | 匹配一個退格符 | | \b | 匹配一個單詞的邊界 | | \B | 匹配一個單詞的非邊界 | | \cX | 這兒,X是一個控制符,/\cM/匹配Ctrl-M | | \d | 匹配一個字數(shù)字符,/\d/ = /[0-9]/ | | \D | 匹配一個非字數(shù)字符,/\D/ = /[^0-9]/ | | \n | 匹配一個換行符 | | \r | 匹配一個回車符 | | \s | 匹配一個空白字符,包括\n,\r,\f,\t,\v等 | | \S | 匹配一個非空白字符,等于/[^\n\f\r\t\v]/ | | \t | 匹配一個制表符 | | \v | 匹配一個重直制表符 | | \w | 匹配一個可以組成單詞的字符(alphanumeric,這是我的意譯,含數(shù)字),包括下劃線,如[\w]匹配"$5.98"中的5,等于[a-zA-Z0-9] | | \W | 匹配一個不可以組成單詞的字符,如[\W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]。 |
|
?
正則表達式對象的屬性及方法
預(yù)定義的正則表達式擁有有以下靜態(tài)屬性: input, multiline, lastMatch, lastParen, leftContext, rightContext和$1到$9。其中input和multiline可以預(yù)設(shè)置。其他屬性的值在執(zhí)行過exec或test方法后被根據(jù)不同條件賦 以不同的值。許多屬性同時擁有長和短(perl風格)的兩個名字,并且,這兩個名字指向同一個值。(JavaScript模擬perl的正則表達式)
正則表達式對象的屬性
| 屬性 | 含義 | | $1...$9 | 如果它(們)存在,是匹配到的子串 | | $_ | 參見input | | $* | 參見multiline | | $& | 參見lastMatch | | $+ | 參見lastParen | | $` | 參見leftContext | | $' | 參見rightContext | | constructor | 創(chuàng)建一個對象的一個特殊的函數(shù)原型 | | global | 是否在整個串中匹配(bool型) | | ignoreCase | 匹配時是否忽略大小寫(bool型) | | input | 被匹配的串 | | lastIndex | 最后一次匹配的索引 | | lastParen | 最后一個括號括起來的子串 | | leftContext | 最近一次匹配以左的子串 | | multiline | 是否進行多行匹配(bool型) | | prototype | 允許附加屬性給對象 | | rightContext | 最近一次匹配以右的子串 | | source | 正則表達式模式 | | lastIndex | 最后一次匹配的索引 |
|
正則表達式對象的方法
| 方法 | 含義 | | compile | 正則表達式比較 | | exec | 執(zhí)行查找 | | test | 進行匹配 | | toSource | 返回特定對象的定義(literal representing),其值可用來創(chuàng)建一個新的對象。重載Object.toSource方法得到的。 | | toString | 返回特定對象的串。重載Object.toString方法得到的。 | | valueOf | 返回特定對象的原始值。重載Object.valueOf方法得到 |
|
總結(jié)
以上是生活随笔為你收集整理的[JavaScript] 正则表达式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。