一、正則表達式(RegularExpretion)javascript
是用來描述「字符串特徵」的「字符串」,按照特殊的規則來進行書寫,其在現代編程語言中被普遍使用。java
二、舉個例子:git
1)帶有「數字」的字符串如何描述?正則表達式
2)如何判斷字符串是否爲有效的×××號,電郵格式,日期時間格式....?編程
3)判斷字符串中是否有特定的字母組合,不管大小寫?編程語言
4)判斷。。。。。ide
以上都是正則表達式的用武之地。spa
三、正則對象code
在javascript中,使用正則類(RegExp)來描述正則字串(記住它不是字符串對象)。regexp
new的方法以下:
1)r1=newRegExp('正則式');
2)r2=/正則式/igm;
有了該對象,咱們就能夠大展手腳了,可是,等等,正則式的規則???
四、正則式規則初探:
以上「正則式」的部分能夠出現如下字符:
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的字符串 |