學習正規表示式筆記(二)

2022-04-29 09:24:08 字數 1403 閱讀 8047

擇一匹配用管道符號(|),也就是豎線表示。代表可以從多個模式中選擇乙個,可用於分割正規表示式。例如: abc | abc 表示即可以匹配 abc,又可以匹配 abc。

點號(.)可以匹配除換行符 \n 以外的任意字元,無論是空格,字母,數字,可列印字元、不可列印字元,還是乙個符號,使用點號都能夠匹配它們。

在python中,如果使用模組屬性re.s 也就是 re.dotall,那麼換行符 \n 也可以匹配了。

要匹配字串的開始位置,可以使用脫字元(^)或者特殊字元 \a 。例如:^start,匹配從start開始。

要匹配字串的結束位置,可以使用美元符號($)或者 \z 。例如:end$,匹配以end結束。

特殊字元\b 和\b 可以用來匹配字元邊界。區別在於\b 用於匹配乙個單詞的邊界,即如果乙個模式必須位於單詞的起始部分,就不管該單詞前面是否有任何字元。同樣,\b 將匹配出現在乙個單詞中間的模式。

例如:使用方括號表示字符集,可以匹配字符集中的任意符號。例如:b[aeiu]t,可以匹配 bat、bet、bit、but。

使用 - 連線字元,表示匹配兩個字元之間的任意字元。例如: 1-9,a-z,分別用於表示數值數字、大寫字母。

在方括號中的字元前加 ^,表示否定,不匹配 ^ 之後的字元,例如:[^aeiou],表示乙個非母音字元。

1. 星號操作符(*)將匹配其左邊的正規表示式 出現零次或者多次的情況。

2.加 號(+)操作符將匹配一次或者多次出現的正規表示式。

3.問號(?) 操作符將匹配零次或者一次出現的正規表示式。也叫做非貪婪匹配。

一對圓括號可以實現以下任意乙個(或者兩個)功能:1.對正規表示式進行分組;2.匹配子組。

擴充套件表示法時以問號開始(?…)的。通常用於在判斷匹配之前提供標記,實現乙個前視(或者後視)匹配,或者條件檢查。儘管圓括號使用這些符號,但是只有(?p)表述乙個分組匹配。所有其他的都沒有建立乙個分組。

正規表示式模式                  匹配的字串

(?:\w+\.)*               以句點作為結尾的字串,例如「google.」、「 twitter.」、「 facebook.」,但是這些匹配不會儲存下來 供後續的使用和資料檢索。

(?#comment)        此處並不做匹配,只是作為注釋。

(?=.com)               如果乙個字串後面跟著「.com」才做匹配操作,並不使用任何目標字串。

(?!.net)                  如果乙個字串後面不是跟著「.net」才做匹配操作。

(?<=800-)              如果字串之前為「800-」才做匹配,假定為**號碼,同樣,並不使用任何輸入字串。

(?(?(1)y|x)                如果乙個匹配組 1(\1)存在,就與 y匹配;否則,就與 x 匹配。

正規表示式學習筆記二

color blue b 字元 描述 b color color blue b b color 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 color blue b b color 匹配輸...

正規表示式學習筆記 二 簡單的正規表示式

一 簡單的正規表示式 注意 在使用正規表示式的時候,會發現幾乎所有的問題都有不止一種解決方法。有的比較簡單,有的比較快速,有的相容性很好,有的功能更全,同乙個問題往往會有多種解決方案。二 匹配單個字元 1 匹配純文字 直接輸入文字,就可以匹配。如 i am a boy.輸入正規表示式 am 2 多個...

正規表示式筆記二

melin 看書時整理的筆記。希望大家補充,成為乙個好關於正規表示式的帖子 正規表示式是型別regexp的物件。它們可以用顯式的建構函式建立或者直接用 pattern 和 r pattern 這種格式的字元常量構造。之後可以用通過使用 regexp match astring 或者用匹配操作符 確定...