例子 | |||
創建 |
Var re=new RegExp(‘a’,’i’) 或 Var re=/a/i |
i表示不區分大小寫 此外g表示執行全局匹配 m表示執行多行匹配 |
|
轉義 |
Var re=/*/i 匹配所有字符 Var re=/\*/I 匹配星號 Var re=/a|b/i匹配a或者b字符(不區分大小寫) |
特殊符號都需要轉義,特殊符號有:! $ * + = .? / | \ () () [] {} |
|
特殊字符有:o t n v f r xnn uxxx cX |
|||
字符類 |
\w |
匹配任何ASCII單字符A~Z和a~z0~9 |
|
\W |
匹配任何ASCII單字符以外的字符 |
||
\s |
匹配任何Unicode空白符 |
||
\S |
匹配任何Unicode空白符以外的符號 |
||
\d |
匹配任何數字0~9 |
||
\D |
匹配任何數字以外的字符 |
||
[...] |
匹配方括號中的所有字符 |
或者 [/-]匹配"/"或者“-” |
|
[^...] |
匹配除方括號中字符的所有字符 |
||
\b |
單詞邊界 |
||
範圍類 |
g |
全局搜索 | 全局匹配多次 |
i | 不分大小寫 | ||
重複類 |
{n} |
匹配前一項n次 |
Var re=/a{5}/i 匹配a5次 |
{n,} |
匹配前一項至少一次 |
|
|
{n,m} |
匹配前一項至少n次,至多m次 |
|
|
{n,m}? |
非貪婪模式 |
aaaaaa.replace(/a{3,6}?/g,‘b’) 結果是bb |
|
{?} |
匹配前一項0次或1次 |
||
{+} |
匹配前一項至少1次 |
.+ 匹配“.”至少一次 |
|
{*} |
匹配前一項0次或多次 |
|
|
特殊符號 |
| |
Var re=/a|b/i匹配a或者b字符(不區分大小寫) |
|
$ |
匹配字符串的結尾 |
以什麼結尾 | |
^ |
匹配字符串的開頭 |
以什麼開頭 | |
\b |
匹配一個單詞的邊界 |
\bis\b 表示匹配is這個字符串,且is左右都是空格 | |
\B |
與\b相反,匹配一個非單詞邊界word boundary |
||
方法 |
exec() |
返回一個數組 |
|
text() |
返回一個布爾值 |
||
toSource() |
返回RegExp對象的源代碼 |
||
toString() |
將RegExp對象轉換成字符串 |
||
replace( ,) |
替換 |
ab1av1aac.replace(/[abc]/g,’x’) //結果是xx1xvxxx |
|
或者 | a|b | a或者b |
[/-] | /或者- | |
例子 | 正則表達式 | 解釋 |
匹配以http://開頭,以.jpg結尾的字符串,比如http://uncleje/img/abc.jpg | http:\/\/.+\.jpg | //要轉義,"."表示任意字符,+表示至少匹配一次 |
匹配日期 2019/02/01 2001-05-02 不匹配 22019/02/012 |
^/d{4}[/-]/d{2}[/-]/d{2}$ |
^匹配字符串的開頭 $匹配字符串的結尾 [/-]匹配/或者- |
匹配所有除了漢字,大小寫英文字母,數字以外的所有字符 | Var re=/[^\w\u4e00-\u9fa5]/g; |
\u4e00-\u9fa5中文字 \w數字和英文字母 |
分組:
http:(\/\/.+\.jpg)