正則學習筆記

aadega發表於2016-03-18

正則匹配字串就是解析字串的特徵,然後用正則的語言把它表達出來。

推薦兩個我使用的文件和工具:

正規表示式入門教程
正規表示式線上測試工具

位置(斷言)

      匹配單詞的開始或結束
^       匹配字串(行)的開始
$       匹配字串(行)的結束

字元

.       匹配除換行符(
)以外的任意字元
w      匹配字母數字下劃線或漢字
s      匹配任意的空白符    
d      匹配數字

      匹配換行

      匹配回車

數量

`*`      匹配零次或多次
`+`      匹配一次或多次
`?`      匹配零次或一次
{n}      重複n次
{n,}     重複n到n+次
{n,m}    重複n到m次

字元類

[character_group]           匹配character_group中任何的單個字元
[^character_group]          匹配不在character_group中的任何單個字元
[first-last]                匹配從第一個到最後一個的範圍中的任何單個字元

分組

(exp)               匹配exp,並捕獲文字到一個從 1 開始的序號中
(?<name>exp)        匹配exp,並捕獲文字到name命名組中
(?:exp)             匹配exp,不捕獲,不分配

(?=exp)             零寬度正預測先行斷言,匹配exp前面的位置
(?!exp)             零寬度負預測先行斷言,匹配後面跟的不是exp的位置
(?<=exp)            零寬度正回顧後發斷言,匹配exp後面的位置
(?<!exp)            零寬度負回顧後發斷言,匹配前面不是exp的位置

(?>exp)             非回溯(也稱為“貪婪”)子表示式

反向引用


um                後向引用。匹配編號子表示式的值
k<name>            命名後向引用。匹配命名錶達式的值。

選項

i      不區分大小寫
m      多行模式(一行相當於一個字串)
s      單行模式(多行相當於一行)

相關文章