正規表示式筆記(一)

ideaspace發表於2015-05-03

概述

正規表示式是事先宣告一組規則,用於匹配字串中的字元。

基本語法

元字元

在正規表示式的模式中,有一些字元是有特殊含義的,被稱為元字元。元字元都是針對單個字元匹配的。

w 匹配大小寫英文字元及數字 0 到 9 之間的任意一個及下劃線,相當於 [a-zA-Z0-9_]

W 不匹配大小寫英文字元及數字 0 到 9 之間的任意一個,相當於 [^a-zA-Z0-9_]

s 匹配任何空白字元,相當於 [ f

v]

S 匹配任何非空白字元,相當於 [^s]

d 匹配任何 0 到 9 之間的單個數字,相當於 [0-9]

D 不匹配任何 0 到 9 之間的單個數字,相當於 [^0-9]

[u4e00-u9fa5] 匹配任意單個漢字(這裡用的是 Unicode 編碼表示漢字的 )

界定符

比較通用的正規表示式界定符是雙斜槓 /regex/

原子的概念

正規表示式中的原子分為可見原子和不可見原子。

[ f

v] 屬於不可見原子,其他表示可見原子

量詞

* 匹配 0 到多個元字元,相當於 {0,}

? 匹配 0 到 1 個元字元,相當於 {0,1}

{n} 匹配 n 個元字元

{n,} 匹配至少 n 個元字元

{n,m} 匹配 n 到 m 個元字元

+ 匹配至少 1 個元字元,相當於 {1,}

邊界

匹配單詞邊界

^ 字串必須以指定的字元開始

$ 字串必須以指定的字元結束

捕獲分組

正規表示式中,使用 () 將若干單位(可以是字元,正規表示式)組織在一起,成為一個獨立單元。

正規表示式中,分組分為捕獲分組和非捕獲分組。

/(pattern)/flags

模式修正

貪婪/懶惰,忽略大小寫,忽略空白字元

使用場景

表單驗證, 模板引擎

相關文章