1、RegexRegularExpretion)
是用來描述“字串特徵”的“字串”,按照特殊的規則來進行書寫,其在現代程式設計語言中被廣泛使用。
2、舉個例子:
1)帶有“數字”的字串如何描述?
2)如何判斷字串是否為有效社會安全號碼,電郵格式,日期時間格式....?
3)判斷字串中是否有特定的字母組合,無論大小寫?
4)判斷。。。。。
以上都是Regex的用武之地。
3、正則對象
在javascript中,使用正則類RegExp)來描述正則字串記住它不是字串對象)。
new的方法如下:
1)r1=newRegExp('正則式');
2)r2=/正則式/igm;
有了該對象,我們就可以大展手腳了,但是,等等,正則式的規則???
4、正則式規則初探:
以上“正則式”的部分可以出現以下字元:
1)一般字元或字串“a,8,中國”等表示單字匹配,即寫什麼就匹配什麼。
如:m=/abc/;表式目標字串中包含abc,如dkdfdabcdfwer
2)表數量的字元:
a)“a*”表示0-n個a,如"abc","bcaadea","xdee"
b)"a+"表示1-n個a
c)"a?"表示0或1個a
3)表開頭的"^",表結尾的"$"字元,如"^a",表示以a開頭的字串,"b$",表示以b結尾的字串
4)特殊的字元
元字元 |
描述 |
. |
尋找單個字元,除了換行和行結束符。 |
\w |
尋找單詞字元。 |
\W |
尋找非單詞字元。 |
\d |
尋找數字。 |
\D |
尋找非數字字元。 |
\s |
尋找空白字元。 |
\S |
尋找非空白字元。 |
\b |
匹配單詞邊界。 |
\B |
匹配非單詞邊界。 |
\0 |
尋找NUL字元。 |
\n |
尋找分行符號。 |
\f |
尋找換頁符。 |
\r |
尋找斷行符號符。 |
\t |
尋找定位字元。 |
\v |
尋找垂直定位字元。 |
\xxx |
尋找以八位元xxx規定的字元。 |
\xdd |
尋找以十六進位數dd規定的字元。 |
\uxxxx |
尋找以十六進位數xxxx規定的Unicode字元。 |
5)方括弧:
運算式 |
描述 |
[abc] |
尋找方括弧之間的任何字元。有a或b或c的字串 |
[^abc] |
尋找任何不在方括弧之間的字元。 |
[0-9] |
尋找任何從0至9的數字。 |
[a-z] |
尋找任何從小寫a到小寫z的字元。 |
[A-Z] |
尋找任何從大寫A到大寫Z的字元。 |
[A-z] |
尋找任何從大寫A到小寫z的字元。 |
(red|blue|green) |
尋找任何指定的選項。有red或blue或green的字串 |
本文出自 “餘不漁” 部落格,請務必保留此出處http://johnyu.blog.51cto.com/7838287/1300322