1、元字符:. * + ? \ [ ] ^ $ { } | ( )
.?表示要匹配除了?換行符?之外的任何?單個?字符。
*?表示匹配前面的子表達式任意次,包括0次
+?表示匹配前面的子表達式一次或多次,不包括0次。
??表示匹配前面的子表達式0次或1次。
{}花括號表示 前面的字符匹配?指定的次數?。
? ? ? ? ? ? ? ? ? ? 表達式?油{3}?就表示匹配 連續(xù)的 油 字 3次
? ? ? ? ? ? ? ? ? ? 表達式?油{3,4}?就表示匹配 連續(xù)的 油 字 至少3次,至多 4 次
^? 匹配輸入字符串的開始位置,除非在方括號表達式中使用,當該符號在方括號表達式中使用時,表示不接受該方括號表達式中的字符集合。
2、在正則表達式中, ‘*’, ‘+’, ‘?’ 都是貪婪地,使用他們時,會盡可能多的匹配內容
? ? ? 解決這個問題,就需要使用非貪婪模式,也就是在星號后面加上??
3、如果我們要搜索的內容本身就包含元字符,就可以使用 反斜杠進行轉義
(r'.*\.')? ? ? ? ? 蘋果.
4、反斜杠后面接一些字符,表示匹配?某種類型?的一個字符。
\d 匹配0-9之間任意一個數字字符,等價于表達式 [0-9]
\D 匹配任意一個不是0-9之間的數字字符,等價于表達式 [^0-9]
\s 匹配任意一個空白字符,包括 空格、tab、換行符等,等價于表達式 [\t\n\r\f\v]
\S 匹配任意一個非空白字符,等價于表達式 [^ \t\n\r\f\v]
\w 匹配任意一個文字字符,包括大小寫字母、數字、下劃線,等價于表達式 [a-zA-Z0-9_]
缺省情況也包括 Unicode文字字符,如果指定 ASCII 碼標記,則只包括ASCII字母
\W 匹配任意一個非文字字符,等價于表達式 [^a-zA-Z0-9_]
反斜杠也可以用在方括號里面,比如 [\s,.] 表示匹配 : 任何空白字符, 或者逗號,或者點
5、[]方括號表示要匹配 指定的幾個字符之一
? ? ? ? ? ? ? ?[abc]?可以匹配 a, b, 或者 c 里面的任意一個字符。等價于?[a-c]?。
? ? ? ? ? ? ? ?[a-c]?中間的 - 表示一個范圍從a 到 c。
? ? ? ? ? ? ? ? 如果想匹配所有的小寫字母,可以使用?[a-z]?
? ? ? ? ? ? ? ?字符 在 方括號內 失去了魔法, 變得和普通字符一樣
? ? ? ? ? ? ? ? 方括號中使用?^ ,表示非方括號里面的字符集合
6、豎線表示 匹配 其中之一??豎線在正則表達式的優(yōu)先級是最低的
7、括號稱之為 正則表達式的 組選擇。
? ? ? 組?就是把 正則表達式 匹配的內容 里面?其中的某些部分?標記為某個組。
? ? ? ?可以在 正則表達式中 標記?多個?組