import re
# 1.以 h 開頭
line = "huang123"
match_res = re.match('huang123',line)
if match_res:
print('匹配成功') #√
else:
print('匹配失敗')
match_res = re.match('huang',line)
if match_res:
print('匹配成功') #√
else:
print('匹配失敗')
line = 'huang'
match_res = re.match('huang123',line)
# print(match_res)
if match_res:
print('匹配成功')
else:
print('匹配失敗') #√
''' 匹配成功
匹配成功
匹配失敗
'''
這個是普通的正則匹配規律,規則就是從左到右依次匹配,只要和規則字串一一對應即為正確,被驗證的字串可以比規則多,但是不能比規則字串少。
# 2.以 h 開頭後面跟著乙個字元( . 可以匹配任意字元 )
line = 'h123456'
match_res = re.match('h.',line)
# print(match_res)
if match_res:
print('匹配成功')
else:
print('匹配失敗')
line = 'h'
match_res = re.match('h.',line)
# print(match_res)
if match_res:
print('匹配成功')
else:
print('匹配失敗')
''' 匹配成功
匹配失敗
'''
' . '是指任意乙個字元(除了換行符(\n\r)以外的所有字母、符號、數字、漢字都可)
# 2.1 以 h 開頭後面必須跟著乙個 ' . '
# 反斜槓 / 是轉義字元
line = 'h123456'
line2 = 'h.123456'
match_res = re.match('h\.',line)
# print(match_res)
if match_res:
print('匹配成功')
else:
print('匹配失敗')
match_res = re.match('h\.',line2)
# print(match_res)
if match_res:
print('匹配成功')
else:
print('匹配失敗')
''' 匹配失敗
匹配成功
'''
' \ ' 是轉義字元,即把一些原本有特殊意義的字元變的不再有特殊意義 所以,『 h\. 』 => ' h. ' 使得 . 就是普通的點而已
# 2.2 以 h 開頭後面必須跟著乙個'\'
# 'h\\'計算機內部代表的字串就是 'h\'
line = 'h\\'
print(len(line))
# 'h\\\\' 計算機內部代表的字串就是 'h\\'
line2 = 'h\\\\'
print(len(line2))
# 反斜槓 / 使我們的第二個特殊字元匹配的時候,字串內部的 \ 被擋住轉義字元
# h\\能夠匹配的字串就是h\
match_res = re.match('h\\\\',line)
# print(match_res)
if match_res:
print('匹配成功')
else:
print('匹配失敗')# 2.3 以h開頭後面只跟著乙個字元
line = 'h2k'
# $ 特殊字元.
match_res = re.match('h.$', line)
# 需要匹配的字串, 能不能符合結果
if match_res:
print('匹配成功')
else:
print('匹配失敗')
''' 2
3匹配成功
匹配失敗
'''
有時候會遇到一些特殊需求,比如把轉義字元 \ 轉義, 把 \ 變的沒有意義 即為普通的字元。計算機中去識別的時候,『 \\ 』 => ' \ '
# 2.3 以h開頭後面只跟著乙個字元
line = 'h2k'
# $ 特殊字元.
match_res = re.match('h.$', line)
# 需要匹配的字串, 能不能符合結果
if match_res:
print('匹配成功')
else:
print('匹配失敗')
line = 'h2'
match_res = re.match('h.$', line)
# 需要匹配的字串, 能不能符合結果
if match_res:
print('匹配成功')
else:
print('匹配失敗')
''' 匹配失敗
匹配成功
'''
$ 為結束符號
# 3. 以 h 開頭後面跟著任意數量的數字
line = 'h12'
# \d 任意的0-9的數字 *前面的那乙個匹配的東西,0-n次
match_res = re.match('h\d*', line)
# 需要匹配的字串, 能不能符合結果
if match_res:
print('匹配成功')
else:
print('匹配失敗')
''' 匹配成功
'''
' h\d* ' 即 h 後面可以跟任意字元,長度任意
# 4.以3結尾
line = 'hh432432pp3'
match_res = re.match('.*3$', line)
# 需要匹配的字串, 能不能符合結果
if match_res:
print('匹配成功')
else:
print('匹配失敗')
line = 'hh432432pp'
match_res = re.match('.*3$', line)
# 需要匹配的字串, 能不能符合結果
if match_res:
print('匹配成功')
else:
print('匹配失敗')
''' 匹配成功
匹配失敗
'''
『 .*3$ 』 匹配的是任意乙個以3結尾的任意字串
# 5. 以 h 開頭,以 3 結尾,中間只有乙個字元
line = 'hi3'
# ^ 代表著這裡的開頭
match_res = re.match('h.3$', line)
# 需要匹配的字串, 能不能符合結果
if match_res:
print('匹配成功')
else:
print('匹配失敗')
line = 'hii3'
match_res = re.match('h.3$', line)
# 需要匹配的字串, 能不能符合結果
if match_res:
print('匹配成功')
else:
print('匹配失敗')
''' 匹配成功
匹配失敗
'''
# 6.以 h 開頭,以 3 結尾, 中間可以存在任意數量的字串
line = 'h3'
match_res = re.match('h.*3$', line)
# 需要匹配的字串, 能不能符合結果
if match_res:
print('匹配成功')
else:
print('匹配失敗')
line = 'hewqeqwe2323'
match_res = re.match('h.*3$', line)
# 需要匹配的字串, 能不能符合結果
if match_res:
print('匹配成功')
else:
print('匹配失敗')
''' 匹配成功
匹配成功
'''
Python 每日正則(二)
import re 1.如何獲取huuh 2.使用非貪婪限定符 學習內容 1.通過group獲取到我們匹配成功的字串 2.貪婪模式 line ahuuhhaaahang123 group 同group 0 就是匹配正規表示式整體結果 group 1 列出第乙個括號匹配部分,group 2 列出第二個...
python每日一練
人生苦短,我用python 2018.6.5 有個目錄,裡面是你自己寫過的程式,統計一下你寫過多少行 包括空行和注釋,但是要分別列出來 coding utf 8 import re import glob defcodecolletion path filelist glob.glob path p...
Python每日一練
人生苦短,我用python 2018.6.13 最近事情有點多,有幾天沒寫了,正好最近需要統計一下各組排名,也就拿python代替手工了 各組給出其他組的排名,統計每個組最終的得分,第一名為0.5,第二名0.4,以此類推。coding utf 8 groups 3,2,5,4,6 1,3,5,6,4...