1. 程式人生 > >JavaScript正則表達式二

JavaScript正則表達式二

javascript正則表達式二

預定義類匹配常見的字符類。

常見的預定義類字符有:.除了回車符和換行符之外的所有字符

\d 數字字符

\D 非數字字符

\s 空白符

\S 非空白符

\w 單詞字符(如數字、字母和下劃線)

\W 非單詞字符

正則表達式還提供了幾個常用的邊界匹配字符,如:^ 以前開始

$ 以末開始

\b 單詞邊界

\B 非單詞邊界

非貪婪模式:讓正則表達式盡可能少匹配,一旦匹配成功就不再匹配。

貪婪模式:讓正則表達式盡可能多匹配,匹配完所有能匹配的。

把非貪婪模式改為貪婪模式在量詞後面加上問號,如:{3,8}

使用( )進行分組,使量詞作用於分組,如:(my){3}括號裏的單詞重復三遍。

使用 | 選擇她還是他,或者的意思。如(m|y)選擇

m或者y

反向引用,如:2017-06-28=>06/28/2017

寫成’2017-06-28’.replace(/(\d{4})-(\d{2})-(\d{2})/g, ’$2$3$1’)

忽略分組:不希望捕獲某些分組,在分組內加上問號,如:(?:my).(ok)

常見的量詞有:?出現零次或一次(最多出現一次)

+ 出現一次或多次(最少出現一次)

* 出現零次或多次(任意次)

{n,}至少出現一次

{n}出現n次

{n,m}出現n到m次

正則表達式從文本頭部向尾部開始解析,文本尾部方向稱為“前”。

前瞻就是正則表達式匹配到規則的時候,向前檢查是否符合斷言。

後瞻則方向相反,JavaScript不支持後瞻。

符合和不符合特定斷言稱為肯定或正向匹配和負向或否向匹配。

一共有:正向前瞻exp(?=assert)

負向前瞻exp(?!=assert)

正向後顧exp(?<=assert)

負向後顧exp(?<!assert)

JavaScript正則表達式二