正則表達式

  例子    

創建

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)

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章