在學習javascript中正則是經常使用的,在正則中的特殊符號,需要轉義等,下面對正則中的轉義和特殊字符進行介紹
首先是元字符,意思是,在使用這些字符時,必須使用轉義字符,負責會出錯.
元字符有:()[]{}\^$|?*
任何時候用在正則表達式中用到以上字符必須進行轉義.
舉例:假如匹配?這個字符
var re = /\?/;
或者
var re = new RegExp("\\?");
正則中的特殊符號:
注意到第二個正則,當用到\的時候,多用了\來進行轉義\ 最后達到兩個\\,叫做雙重轉義
其次 特殊符號
在則會功能則中可以使用ASCII代碼也可以用Unicode代碼.
當用字符用十六進制表示時,在字符簽名必須加上\x
當用八進制時,在紫府前必須加上 \
當用Unicode編碼表示是必須加上 \
還有其它一些特殊符號
字符 說明
\t 制表符
\n 換行符
\r 回車符
\a 換頁符
\e alert字符
\cX escape字符
\b 與X相對應的字符
\v 回退字符
\0 空字符
如果用RegExp構造函數來使用它們,則必須使用雙重轉義.
以上就是正則中的特殊符號
正則表達之字符類:
先說一下字符類的意思,字符類是用于測試的字符組合.字符類是放到中括號[]中的,可以有效的告訴正則去匹配.在字符類又分為五個簡單的類,分別說一下
1.簡單類
簡單類就是你想要匹配的字母組
舉例說明
var _class = /[abc]de/gi;
上面的一個字符類就是一個簡單的類,可以匹配ade,bde,cde.三種,后面的g和i分別是全局和不區分大小寫.
再簡單類中還可以使用unicode編碼
var _class = /[a\u0062c]de/gi;
這個跟上面的一樣,可以匹配ade,bde,cde.三種,后面的g和i分別是全局和不區分大小寫.
2.負向類
負向類就是你要排除的字母,用上尖號(^)表示負向類
舉例//www.forasp.cn 轉載請注明
var _class = /[^abc]de/gi;
用了負向類^就排除了a,b,c三個開頭的字符串,即 ade,bde,cde都不匹配
3.范圍類
范圍類即指定從一個字符到另一個字符的范圍,用中杠(-)表示.
舉例
var _class = /[a-c]de/gi;//這就是表示從a到c,即,abc都匹配
上面的就匹配了ade,bde,cde.三種.也可以加上負向類表示不匹配
var _class = /[^a-c]de/gi;//這就是表示從a到c,即,abc都不匹配
4.組合類
組合類是有幾種其它類的組合而合成的字符類.
舉例
var _class = /[1-9a-c]/gi;
上面的表達式就是1-9或者a-c均能匹配,列舉1,2,3,4,5,6,7,8,9,a,b,c
在此 要注意的是字符內部類之間不能有空格.還有不能有交叉.
5.預定義類//www.forasp.cn 轉載請注明
預定義類就是將復雜的組合類預定義成特定的代碼.
列舉了javascrip中的預定義類
代碼 等同于 匹配
. [^\n\r] 出了換行和回車以外的任何字符
\d [0-9] 數字
\D [^0-9] 非數字
\s [ \t\n\xB\f\r] 空白字符
\S [^ \t\n\xB\f\r] 非空白字符
\w [a-zA-Z_0-9] 單詞字符,包括字母下劃線和數字
\W [^a-zA-Z_0-9] 非單詞字符
以上就是常用的正則表達式的字符類,常用謹記
====================
正則表達之量詞
正則表達式中的量詞,規定了特定的字符串出現的次數.當指定某個模式應當出現的出售時,可以指定硬性數量.
可以說分為兩類量詞
1.簡單量詞,如下標識
代碼 描述
? 出現零次或者一次
* 出現任意次數
+ 至少出現一次
{n} 一定出現n次
{n,m} 至少出現n次最多出現m次
{n,} 至少出現n次
舉例說明以上的標識,gi是全局部分大小寫,下面就不說gi了.
var foraspcn = /[ab]?c/gi;//匹配 c,ac,bc
var foraspcn = /[ab]*c/gi;//匹配 c,aac,bbc...
var foraspcn = /[ab]+c/gi;//匹配 ac,bc,aac,bbc..
var foraspcn = /[ab]{1}c/gi;//匹配 ac,bc
var foraspcn = /[ab]{1,2}c/gi;//匹配 ac,bc,aac,bbc
var foraspcn = /[ab]{1,}c/gi;//匹配 ac,bc,aac,bbc...
看看看懂沒有,有的時候有的是相等的比如
?就等于{0,1}
*等于{0,}
+等于{1,}
2.貪婪的,惰性的,支配性的量詞
首先解釋一下三種量詞.
貪婪量詞就是先看整個字符串師傅匹配,如果沒有,則去掉字符串最后一個字符,再次匹配.一直到發現最后一個匹配或者字符串不剩下任何字符.目前的量詞都是貪婪的.
惰性量詞是首先看第一個字符是否匹配,如果單獨這一個字符不夠,則讀入下一個,與組成兩個字符去匹配,如果沒有發現再次讀取下一個字符,直到發現匹配或者整個字符串都沒有匹配.惰性和貪婪正好相反.
支配量詞擦好難過時匹配整個字符串,如果不匹配則不再嘗試.支配量詞就是整體匹配一次.$hidden$
貪婪的,惰性的,支配性的量詞 表如下
貪婪的 惰性的 支配性 描述
? ?? ?+ 零次或者一次出現
* *? *+ 零次或者多次出現
+ +? ++ 至少一次出現
{n} {n}? {n}+ 正好n次出現
{n,m} {n,m}? {n,m}+至少n次出現,至多m次出現
{n,} {n,}? {n,}+ 至少n次出現
以上就是正則中量詞的相關內容
posted on 2010-12-30 15:40
David1228 閱讀(463)
評論(0) 編輯 收藏 所屬分類:
正則