正規表示式 修飾符 常見模式 例項

2021-10-11 01:47:43 字數 1182 閱讀 2453

正規表示式可以包含一些可選標誌修飾符來控制匹配的模式。修飾符被指定為乙個可選的標誌。多個標誌可以通過按位 or(|) 它們來指定。如 re.i | re.m 被設定成 i 和 m 標誌:

修飾符描述

re.i

使匹配對大小寫不敏感––

re.l

做本地化識別(locale-aware)匹配

re.m

多行匹配,影響 ^ 和 $––

re.s

使 . 匹配包括換行在內的所有字元

re.u

根據unicode字符集解析字元。這個標誌影響 \w, \w, \b, \b.––

re.x

該標誌通過給予你更靈活的格式以便你將正規表示式寫得更易於理解。

常見模式:

模式描述

^匹配字串的開頭

$匹配字串的末尾。

.匹配任意字元,除了換行符,當re.s標記被指定時,則可以匹配包括換行符的任意字元。

*前乙個字元0次或無限次擴充套件

+前乙個字元1次或無限次擴充套件

?前乙個字元0次或1次擴充套件,非貪婪方式

擴充套件前乙個字元m次。例如, abc表示abbc

擴充套件前乙個字元m至n次(包含n),貪婪方式

ab匹配a或b

( )分組標記,內部只能使用 操作符

\w匹配字母數字及下劃線,等價於[a-za-z0-9]

\w匹配非字母數字及下劃線,等價於[^a-za-z0-9]

\s匹配任意空白字元,等價於 [\t\n\r\f]

\s匹配任意非空字元, 等價於 [^ \f\n\r\t\v]

\d匹配任意數字,等價於 [0-9]

\b匹配乙個單詞邊界,也就是指單詞和空格間的位置。例如, 『er\b』 可以匹配"never" 中的 『er』,但不能匹配 「verb」 中的 『er』

\b匹配非單詞邊界。『er\b』 能匹配 「verb」 中的 『er』,但不能匹配 「never」 中的 『er』

例項描述

[^a-z a-z]+$

由26個字母組成的字串

[^a-za-z0-9]+$

由26個字母和數字組成的字串

^-?\d+$

整數形式的字串

[1-9]\d

[\u4e00-\u9fa5]

匹配中文字元

\d-\d \d-\d

**號碼

正規表示式修飾符

修飾符 在正規表示式裡面的修飾符可以改變正則的很多特性,使得正規表示式更加適合你的需要 注意 修飾符對於大小寫是敏感的,這意味著 e 並不等於 e 正規表示式裡面的修飾符如下 i 如果在修飾符中加上 i 則正則將會取消大小寫敏感性,即 a 和 a 是一樣的。m 預設的正則開始 和結束 只是對於正則字...

正規表示式 修飾符

正規表示式 修飾符 標記 標記也稱為修飾符,正規表示式的標記用於指定額外的匹配策略。標記不寫在正規表示式裡,標記位於表示式之外,格式如下 pattern flags i ignore 不區分大小寫 將匹配設定為不區分大小寫,a a沒有區別 g global 全域性匹配 查詢所有的匹配項 m mult...

正規表示式修飾符

正規表示式中常用的模式修正符有i g m s u x a d e 等。它們之間可以組合搭配使用。i不區分 ignore 大小寫 例如 abc i 可以匹配 abc abc abcg全域性 global 匹配例如 var str aaaaaaaa var reg1 a str.match reg1 結...