擇一匹配用管道符號(|),也就是豎線表示。代表可以從多個模式中選擇乙個,可用於分割正規表示式。例如: 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 或者用匹配操作符 確定...