摘自廖雪峰老師的部落格
.:任意字元
*:任意個字元
+:至少乙個字元
?:0或1個字元
:n個字元
:n~m個字元
\d:匹配乙個數字
\w:匹配乙個數字或字母
\s:匹配乙個空格
^:表示行的開頭,^\d表示以整數開頭
$:表示行的結束,\d¥表示以整數結尾
1.匹配字串。如:使用者輸入了一組標籤,可以用正規表示式判斷是否與正確的輸入匹配,也可以把不規範的輸入轉化成正確的陣列。
import re
print re.match(r'^\d\-\d$', '010-12345') # 匹配成功,返回乙個match物件
print re.match(r'^\d\-\d$', '010 12345') # 匹配失敗,返回none
結果:<_sre.sre_match object at 0x00000000025b2578>
none
2.分組
import re
m = re.match(r'^(\d)-(\d)$', '010-12345')
print m.group(0) # group(0)是原始字串
print m.group(1) # group(1)是第乙個子串
print m.group(2) # group(1)是第乙個子串
print m.groups() # groups是所有子串
結果:010-12345
01012345
('010', '12345')
3.切分字串
>>> 'a b c'.split(' ') # b和c之間3個空格
['a', 'b', '', '', 'c'] # 結果表明:無法識別連續空格
>>> re.split(r'[\s\,\;]+', 'a,b;; c d')
['a', 'b', 'c', 'd'] # 結果表明:乙個或多個的空格、逗號、分號都能識別
正則匹配預設是貪婪匹配(盡可能多地匹配字元),加個?變為非貪婪匹配。 Python 正規表示式(基礎)
正規表示式 regular expression 是乙個特殊的字串行,描述了一種字串匹配的模式可以用來檢查乙個串是否含有某種子串 將匹配的子串替換或者從某個串中取出符合某個條件的子串,或者是在指定的文章中,抓取特定的字串等。python處理正規表示式的模組是re模組,它是python語言擁有全部的正...
Python正規表示式基礎
直接給出字元就是精確匹配。特殊字元首先需要轉義如 d 匹配乙個數字,w 匹配乙個字母或者數字。123 d 可以匹配 1231 但是無法匹配 123a d d d 可以匹配到 123 w w w 可以匹配到 py3 表示任意乙個字元,py.可以表示py3 py 等 表示任意長個字元,表示至少乙個字元,...
python基礎(正規表示式)
正規表示式用於搜尋 替換和解析字串。正規表示式遵循一定的語法規則,使用非常靈活,功能強大。使用正規表示式編寫一些邏輯驗證非常方便,例如電子郵件位址格式的驗證。python提供了re模組實現正規表示式的驗證。1.簡介 正規表示式是用於文字匹配的工具,它在源字串中查詢與給定的正規表示式相匹配的部分,乙個...