正規表示式2

2021-08-21 16:24:58 字數 2059 閱讀 7338

本文參照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,所...