概念:正則匹配就是乙個模糊的匹配 只要符合我的匹配規則 就會認為是正確的資料(精確的匹配)
1.#代表原子表把想要匹配的內容寫入原子表中 匹配包含的任意一位字元
[a] #匹配小寫字母a
[ab]#匹配小寫字母a或者b
[aabb]#匹配字母a或b
[195] #匹配任意一位數字
[a-z]#匹配任意一位小寫字母
2.^ #在原子表外稱之為以...作為開頭 放在原子表內叫取反 相當於 \a
^[abc] #匹配以a/b/c字元作為開頭
[^abc] #匹配任意一位小寫字母a/b/c以外的字元
^abc#匹配以小寫字母abc開頭的內容
^[0-9]
^[a-za-z0-9]
3.$ #以...作為結尾 相當於 \z
^[1][3-9][0-9]$ ^和$通常是組合使用 真正的限制匹配資料的正確性
4. #控制匹配前面數量的m次 不能單獨使用 和普通的內容一起使用或者和原子表
#匹配3個a的操作
[a][a][a]
aaa
a
[a]
#錯誤寫法
[a-za-z]
5.#控制匹配前面數量的m-n次 不能單獨使用 和普通的內容一起使用或者和原子表
#匹配qq號碼
5-11
^[1-9][0-9]$
010-778192
101-621331
[01]\-[0-9]
6. #表示匹配前面數量至少m次
[a-z]
#1 匹配1-99的正則
[1-9][0-9]
#2 匹配任意一位正負整數和小數 ?
[\-][1-9]
7.?#可有可無 匹配前面的正規表示式的 0次或者一次 類似於 或指明乙個非貪婪的限定符
[1-9][0-9]?
[\-]?[1-9]
8. . #匹配換行符\n以外的任意一位字元
9. *#匹配前面表示式的任意次 相等於
10. .*#匹配除換行符以外的任意字元任意次 貪婪模式
11. .*?#匹配除換行符以外的任意字元任意次 非貪婪模式
12. +#匹配前面表示式的至少1次 相等於
13. .+#匹配除換行符以外的任意字元至少1次 貪婪模式
14. .+?#匹配除換行符以外的任意字元至少次 非貪婪模式
15. ()#1.代表乙個單元2.子儲存
16. |#表示或
#匹配手機號碼或者qq號碼
(^[1-9][0-9]$)|(^[1][3-9][0-9]$)
使用正則函式需要匯入內建的 re模組
import re
re.i 忽略大小寫
re.m 多行模式 改變^和$的作用
re.s 改變.的行為 可以匹配換行符
\d 相當於 [0-9]
\d 相當於 [^0-9]
\w 相當於 [a-za-z0-9_]
\w 相當於[^a-za-z0-9_]
\s 匹配空白字元
\s 匹配非空白字元
pattern:正規表示式
string:要匹配的字串的內容
flags:修正符
返回結果:
匹配成功 返回物件
匹配失敗 返回none
注意:
match必須從第一位開始匹配 如果第一位沒有符合的 則匹配失敗 類似於在正則前方新增^
只匹配一次
取值
group() 將值取出
group([index]) 索引可有可無 如果正則內沒有存在括號 則不需要傳index
groups() 正則內括號的值 以元組形式進行返回
pattern:正規表示式
string:要匹配的字串的內容
flags:修正符
返回結果:
匹配成功 返回物件
匹配失敗 返回none
只匹配一次
和match的區別 只要字串中包含就可以
pattern:正規表示式
string:要匹配的字串的內容
flags:修正符
返回結果:
匹配成功返回裝有資料的列表
匹配失敗返回空列表
next(re.finditer())
sub(pattern, repl, string, count=0, flags=0)
subn(pattern, repl, string, count=0, flags=0)
split(pattern, string, maxsplit=0, flags=0):
將正則和函式分開使用 提高執行效率 正規表示式 可以多次使用
使用方法
pattern = re.compile("pattern",flags)
pattern.函式名(匹配的字串)
修正符
re.i(re.ignorecase)
re.s(re.dotall)
re.m(re.multiline)
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.簡介 正規表示式是用於文字匹配的工具,它在源字串中查詢與給定的正規表示式相匹配的部分,乙個...