# 匹配單個字元
# . 匹配任意1個字元(除了\n)
# 匹配中列舉的字元
# \d 匹配數字,即 0-9
# \d 匹配非數字,匹配部署數字
# \s 匹配空白,即空格,tab鍵
# \s 匹配非空白
# \w 匹配單詞字數,即a-z,a-z 0-9,_ # 支援中文
# \w 匹配非單詞字元
# rec = re.match(r'速度與激情[1-23-4a-bg-y]', '速度與激情h')
# rec = re.match(r'速度與激情\w', '速度與激情哈')
# print(rec.group())
# 匹配多個字元
# * 匹配前乙個字元出現0次或者無限次,即可有可無
# + 匹配前乙個字元出現1次或者無限次,即至少有1次
# ? 匹配前乙個字元出現1次或者0次,即要麼有1次,要麼沒有
# 匹配前乙個字元出現m次
# 匹配前乙個字元出現從m到n次
# ^ 判斷開頭
# $ 判斷結尾
# rec = re.match('速度與激情\d', '速度與激情12') # 表示一位二位都可以
# rec = re.match('021-?\d', '021-123156465')
# rec = re.match('.*', html, re.s) # 想要. 可以匹配到換行就需要加上第三個引數re.s
# print(rec.group())
# i = input("請輸入:")
# rec = re.match(r'[a-za-z0-9_]@163\.com$', i)
# print(rec)
# if rec:
# print("成功")
# else:
# print("失敗")
# 分組()
# | 匹配左右任意乙個表示式
# (ab) 將括號中字元作為分組
# \num 應用分組
# (?p) 分組起別名
# (?p=name) 引用別名為name分組匹配的字串
h =""
h1 =""
# rec = re.match(r'<(\w*)>.*', h) # \1表示和前面第一組分組內容要一樣,不然匹配不到
# print(rec.group())
rec = re.match(r'<(\w*)><(\w*)>.*'
, h1)
rec2 = re.match(r'<(?p\w*)><(\w*)>.*'
, h1)
print
(rec.group(
))
# match()函式只檢測字串開頭位置是否匹配,匹配成功才會返回結果,否則返回none
# search()函式會在整個字串內查詢模式匹配,只到找到第乙個匹配然後返回乙個包含匹配資訊的物件,該物件可以通過呼叫group()方法得到匹配的字串
# findall() 滿足直接放回資料以乙個列表的新式
# sub('正規表示式','替換後的值','需要被替換的值')
# split('正規表示式',需要變切割的) 切割返回乙個列表
import re
defmain()
: email =
input()
# 用到點以及問好,需要使用\在轉移
rec = re.match(r'[a-za-z0-9_]@(163|126|qq)\.com$'
, email)
if rec:
print
("成功:%s"
% email)
else
:print
("失敗:%s"
% email)
if __name__ ==
'__main__'
: main(
)
import re
defmain()
: names =
['age'
,'_age'
,'1age'
,'age1'
,'a_age'
,'age_1_'
,'age!'
,'a#123'
]for i in names:
# 表示第一位數可以是數字字母下劃線,第二位數字可以有多個也可以沒有要求字母下劃線數字,最後乙個$表示必須匹配到字串結尾
# match預設 判斷開頭
rec = re.match(r'[a-za-z_][a-za-z0-9_]*$'
, i)
if rec:
print
("f符合要求的:%s"
% i)
else
:print
('不符合要求:%s'
% i)
if __name__ ==
'__main__'
: main(
)
正規表示式複習
字元描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了regexp 物件的multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束位置...
正規表示式複習
字元描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了regexp物件的multiline屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束位置。如果...
正規表示式複習
為了下列場景中的需求,可以使用正規表示式非常簡單的完成,這就是使用正規表示式的目的 在乙個檔案中,查詢出itcast開頭的語句 在乙個檔案中,找到含有itcast的語句 在乙個檔案中,找到郵箱為163或者126的所有郵件位址 通常正規表示式對字串匹配的時候,可以使用re模組 import re 使用...