正規表示式1

2021-08-30 11:39:25 字數 2981 閱讀 1300

group()函式:

group()函式可以將匹配到的字串列印出來

match()函式 :

match()函式只能從文字的開始部分匹配。

1、匹配單個字元

1.1、匹配某個字串:

text='hello'

ret=re.match('he',text)

print(ret.group())

1.2、點(.)匹配任意字元,不能匹配換行符

text = "ab"

ret = re.match('.',text)

print(ret.group())

>> a

#匹配換行符報錯:

text = "\n"

ret = re.match('.',text)

print(ret.group())

>> attributeerror: 'nonetype' object has no attribute 'group'

1.3、\d匹配任意的數字(0-9)

text = "123"

ret = re.match('\d',text)

print(ret.group())

>> 1

1.4、\d 匹配任意的非數字:如果沒匹配成功將報錯

text = "a"

ret = re.match('\d',text)

print(ret.group())

>> a

#第乙個不是數字

text='a0'

ret=re.match('\d',text)

print(ret.group())

>> attributeerror: 'nonetype' object has no attribute 'group'

1.5、\s(小寫s)匹配的是空白字元(包括:\n,\t,\r和空格):

text = "\t"

ret = re.match('\s',text)

print(ret.group())

>> 空白

1.6、\w(小寫w)匹配的是小寫a-z,a-z,數字和下劃線

text = "_"

ret = re.match('\w',text)

print(ret.group())

>> _

1.7、\w(大寫w)匹配的是和\w相反的

text = "+"

ret = re.match('\w',text)

print(ret.group())

>> +

#如果text是乙個下劃線或英文本元,那麼就匹配不到:

text = "_"

ret = re.match('\w',text)

print(ret.group())

>> attributeerror: 'nonetype' object has no attribute

1.8、組合的方式,只要滿足中括號中的某一項都算匹配成功

以下幾種匹配規則,可使用中括號的形式進行替代:

\d:[0-9]

\d:0-9

\w:[0-9a-za-z_]

\w:[^0-9a-za-z_]

text = "0731-88888888"

ret = re.match('[\d\-]+',text)

print(ret.group())

>> 0731-88888888

2、多個字元匹配

2.1、*:可以匹配0或者任意多個字元。

text = "0731"

ret = re.match('\d*',text)

print(ret.group())

>> 0731

#以上因為匹配的要求是\d,那麼就要求是數字,後面跟了乙個星號,就可以匹配到0731這四個字元

2.2、+:可以匹配1個或者多個字元,最少乙個。

text = "abc"

ret = re.match('\w+',text)

print(ret.group())

>> abc

#因為匹配的是\w,那麼就要求是英文本元,後面跟了乙個加號,意味著最少要有乙個滿足\w的字元才能夠匹配到。如果text是乙個空白字元或者是乙個不滿足\w的字元,那麼就會報錯

text = ""

ret = re.match('\w+',text)

print(ret.group())

>> attributeerror: 'nonetype' object has no attribute

2.3、?:匹配的字元可以出現一次或者不出現(0或者1)

text = "123"

ret = re.match('\d?',text)

print(ret.group())

>> 1

2.4、:匹配m個字元。

text = "123"

ret = re.match('\d',text)

print(ret.group())

>> 12

2.5、:匹配m-n個字元。在這中間的字元都可以匹配到(n>m)

text = "123"

ret = re.match('\d',text)

prit(ret.group())

>> 12

#如果text只有乙個字元,也可以匹配出來

text = "1"

ret = re.match('\d',text)

prit(ret.group())

>> 1

正規表示式 1 初識正規表示式

簡單地說,正規表示式就是一套處理字串的規則和方法,以行為單位對字串進行處理,通過特殊的符號的輔助,我們可以快速的過濾,替換某些特定的字串。運維工作中,會有大量訪問日誌,錯誤日誌,大資料。如何能夠快速的過濾出我們需要的內容,這就需要正規表示式。awk,sed,grep egrep 三劍客要想能工作的更...

正規表示式 1 正規表示式基礎

1.正規表示式基礎 正規表示式描述了一種字串匹配的模式,即可以使使用者通過一系列普通字元或特殊字元構建能夠明確描述文字字串的匹配模式,可以用來檢查某個字串是否含有某種子字串,將匹配的子字串做替換或者從某個字串中取出符合某個條件的子字串等。1.1 正規表示式的基本結構 乙個正規表示式就是由普通字元 如...

正規表示式(1)

正規表示式 正則 表示式提供了一種標準的 實用的方式,來分析文字檔案 搜尋並有選擇性地替換出現的紫字串或者文字模式。如果對正規表示式不熟悉的話,可以把它看作ms dos裡的萬用字元,用來指定一組檔案 比如 txt 或者看作sql查詢語句中配合like命令使用的特殊字元 select name,cit...