本文參照python 核心程式設計第一章正規表示式#1、match函式的使用
import re
m=re.match("foo","foo")
if m is not none:
print(m.group())
'''match 如果匹配成功,返回乙個匹配物件,不成功則返回none
如果我們不使用if判斷就使用m.group(),在匹配不成功時就會丟擲異常
import re
m=re.match("oo","foo")
print(m.group())
'''#2、seatch函式的使用
m=re.search("guode","degeguodemmmmguode")
if m is not none:
print(m.group())
#3、分組匹配 abc-123 這種型別的字串
aa="abc-123"
moshi1='\w+-\d+'
moshi2='\w\w\w-\d\d\d'
moshi3="(\w+)-(\d+)" #通過括號我們我們就可以將匹配到的結果通過列表的形式進行操作
moshi4="(\w\w\w)-(\d\d\d)"
if re.search(moshi1,aa) is not none:
print(re.search(moshi1,aa).group())
if re.search(moshi2,aa) is not none:
print(re.search(moshi2,aa).group())
if re.search(moshi3,aa) is not none:
print(re.search(moshi3,aa).group())
print(re.search(moshi3,aa).group(1))
print(re.search(moshi3,aa).group(2))
print(re.search(moshi3,aa).groups())
if re.search(moshi4,aa) is not none:
print(re.search(moshi4,aa).group())
print(re.search(moshi4,aa).group(1))
print(re.search(moshi4,aa).group(2))
print(re.search(moshi4,aa).groups())
#4、正規表示式分組的使用
aa="abc"
moshi1="abc"
moshi2="(abc)"
moshi3="(a)(b)(c)"
moshi4="(a(bc)"
moshi5="(a((b)c)"
if re.search(moshi1,aa) is not none:
print(re.search(moshi1,aa).groups()) #沒有括號,元組為空
if re.search(moshi2,aa) is not none:
print(re.search(moshi2,aa).groups()) #帶有乙個括號將括好內的內容作為結果
#if re.search(moshi5,aa) is not none:
# print(re.search(moshi5,aa).groups()) #帶有乙個括號將括好內的內容作為結果 次操作在dos中是可以的在pycharm中是會報錯
#5、findall
print(re.findall("a","aaablaksdjladlkajsdl;fja;"))
#6.finditer 是將國有的匹配結果生成乙個生成器
g=re.finditer("a","akalsdjklaksjd")
print(g) #callable_iterator objec 可呼叫的迭代器對
#7.替換字串中匹配到的結果,返回替換後的字串
a=re.sub("guode","dege","guodeniahoaaosdo")
print(a)
正規表示式 2
例 正規表示式物件 本物件包含正規表示式模式以及表明如何應用模式的標誌。語法 1 re pattern flags 語法 2 re new regexp pattern flags 引數 re 必選項。將要賦值為正規表示式模式的變數名。pattern 必選項。要使用的正規表示式模式。如果使用語法 1...
正規表示式2
4.2字元集合var reg 1a2b3 匹配乙個字元,這個字元必須是 1 a 2 b 3其中一種,如果是就表示滿足,如果不是就不滿足 reg.test a 結果為 true reg.test 3 結果為 true reg.test fg56 乙個符合要求的字元都不存在,結果為 false reg....
正規表示式 2
之前總結了一下正規表示式的一些基礎用法,這一篇總結一下正則的高階用法。print ret.group 不是0 100之間 ret re.match 1 9 d 100 100 print ret.group 100 就是 和程式語言中的i很像就是或 的意思,就像上邊的例子因為左邊只能匹配1 99,所...