正規表示式 re

2022-07-11 05:15:15 字數 2363 閱讀 8132

#字串方法全量查詢

s = 'hello world'

s.find('ll')    #返回索引值

s.replace('ll','xx')

s.split('w')   #以w為分割符 返回['hello ','orld']

#正規表示式

import re

#完整匹配

re.findall('匹配的字元','待匹配字串')  #返回匹配成功的字元

#元字元

# .  萬用字元匹配所有的字元,乙個點只能匹配任意乙個字元

re.findall('w..l','hello world')

#^ 尖角符 只在字串的開始進行匹配,放在開頭

re.findall('^h..o','weqqhiio') #匹配空

# $ 只在字串的結尾進行匹配,放在結尾

re.findall('h..o$','weqqhiio') #匹配hiio

# * 重複匹配,*前面的字元重複[0,∞](無窮)次    等價於 

# +重複匹配,+前面的字元重複[1,無窮]次              等價於 

# ?重複[0,1]次 等價於

#{} 自定義重複次數

re.findall('ab','aaaaab')  #返回['aaaab']

re.findall('ab','aaaaab')  #返回['aaab']

#字符集,取消元字元的特殊功能(除外\ ^ -)

re.findall('a[c,d]b','acb')  #返回['acb'].         c與d 或的關係

re.findall('a[a-z]b','acb')  #返回['acb'].        a-z之間的任意字母

re.findall('a[c,*]b','a*b')  #返回['a*b']

re.findall('[1-9,a-z,a-z]','12tyas') #返回['1','2','t','y','a','s']

re.findall('[1-9a-za-z]','12tyas')   #返回['1','2','t','y','a','s']

re.findall('[^t]','12tyas') #返回['1','2','y','a','s'].    ^放在是取反的意思

re.findall('[^4,5]','12ty45as') #返回['1','2','y','a','s'].     非4和非5的意思

# \  反斜槓後面跟元字元去除特殊功能            ---re語言 需要用\\解釋\,python需要用\\或者r 來解釋re的\\,所以解釋\是\\\\或者r'\\'

#\ 反斜槓後面跟普通字元有特殊意義(一部分普通字元)

#\d 匹配任何十進位制整數,相當於[0-9]

#\d 匹配任何非數字字元,相當於[^0-9]

#\s 匹配任何空白字元,相當於類[ \t\n\r\f\v]

#\s 匹配任何非空白字元,相當於類[^ \t\n\r\f\v]

#\w 匹配任何字母數字字元,相當於類[a-za-z0-9_] 

#\w 匹配任何非字母數字字元,相當於類[^a-za-z0-9_]

#\b 匹配乙個特殊字元邊界

ret = re.search('x.','ax1x2')        #查詢出乙個物件

print(ret.group())        #re.search().group() 匹配出第乙個滿足條件的結果    

# () 分組    | 或

re.search('(as)+','aedfasas').group()     #asas

re.search('(as)|3','aedfas3').group()     #as

re.search('(as)|3','aedf3as').group()     #3

#總結:findall()  所有結果都返回到乙個列表裡面

#search() 返回匹配到的第乙個物件object,物件可以通過group()取得結果

#match()  只在字串開始進行匹配,返回匹配到的第乙個物件object,物件可以通過group()取得結果

#split()  靈活運用元字元分隔字串

#sub() 替換,類似於字串的replace()方法  s.sub('需要替換的字元','替換後的字元','待替換的目標字串')

#compile() 定義乙個規則物件,多次查詢,替換等操作時直接可以使用該物件進行操作

obj = re.compile('\.com')

ret = obj.findall('daf\.comdaf')

print(ret)

ret1 = obj.findall('wwww\.comdaf')

print(ret1)

正規表示式 RE

最近一段時間在研究nginx的rewirte重寫機制,因此對re需要有一定的了解,看了想關的文章,因此自己來寫一篇類似總結性的的文章。基本來說,正規表示式是一種用來描述一定數量文字的模式。regex regular express。本文用 regex 來表示一段具體的正規表示式。一段文字就是最基本的...

re正規表示式

1.數字 0 9 2.n位的數字 d 3.至少n位的數字 d 4.m n位的數字 d 5.零和非零開頭的數字 0 1 9 0 9 6.非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 7.帶1 2位小數的正數或負數 d d 8.正數 負數 和小數 d d 9.有兩位小數的正實數 0 9 0 9...

Re正規表示式

import re 匯入re模組 重複出現的字串 對於重複出現的字串可以用大括號內部加上重複次數的方式表達 r d 分組 使用小括號分組 r d d 重複出現的字串 對於重複出現的字串可以用大括號內部加上重複次數的方式表達 r d 重複出現的字串 對於重複出現的字串可以用大括號內部加上重複次數的方式...