正規表示式是處理字串的強大工具,具有特定的語法結構,可以實現字串的檢索、替換、匹配驗證等。
第乙個引數傳入正規表示式,第二個引數傳入要匹配的字串;
嘗試從字串的起始位置匹配正規表示式,如果匹配成功就返回匹配的結果,否則返回none;
import re
content ='hello 1234 5678 word_this is a demo'
result=re.match('^hello\s\d\d\d\d\s\d\s\w',content)
print(result)
執行:
match()方法可以得到字串匹配得到的內容,但是想從匹配的內容中得到一部分,則可以借助括號(),將想要的子字串括起來。
括號的始末實際標記了乙個子表示式的開始和結束位置,被標記的子表示式會依次對應每乙個分組,呼叫group()方法傳入分組的索引即可獲取子字串
import re
content ='hello 12345678 word_this is a demo'
result=re.match('^hello\s(\d)\s\w',content)
print(result)
print(result.group())
print(result.group(1))
執行:hello 12345678 word_this
12345678
·(點)可以匹配出換行符以外的所有字元
*(星)代表匹配前面的字元無限次
import re
content ='hello 1234 5678 word_this is a demo'
result=re.match('^hello(.*)demo$',content)
print(result)
print(result.group())
print(result.group(1))
執行:hello 1234 5678 word_this is a demo
1234 5678 word_this is a
注意:
#貪婪匹配
import re
content ='hello 12345678 word_this is a demo'
result=re.match('^hello.*(\d+).*demo$',content)
print(result)
print(result.group())
print(result.group(1))
執行:hello 12345678 word_this is a demo
8#非貪婪匹配
import re
content ='hello 12345678 word_this is a demo'
result=re.match('^hello.*?(\d+).*demo$',content)
print(result)
print(result.group())
print(result.group(1))
執行:hello 12345678 word_this is a demo
執行:hello 12345678 word_this is a
demo
12345678
注意:content用三引號括起來
遇到正則匹配模式的特殊字元時候,在特殊字元前面加反斜槓轉義即可;
import re
print(result)
執行:
掃瞄整個字串並返回第乙個成功匹配的內容搜尋字串,以列表的形式返回全部能匹配的子串替換字串中每乙個匹配的子串後返回替換後的內容
import re將正規表示式字串編譯成正規表示式物件,以便在後面的匹配中重複使用。或者說compile給正規表示式做了乙個封裝content='54csdr**f356sfhd'
content=re.sub('\d+',' ',content)
print(content)
執行:csdr**f sfhd
import re
content1='1992-4-20 12:00'
content2='1993-9-15 12:00'
content3='2018-2-14 12:00'
pattern=re.compile('\d:\d')
result1=re.sub(pattern,' ',content1)
result2=re.sub(pattern,' ',content2)
result3=re.sub(pattern,' ',content3)
print(result1,result2,result3)
執行:1992-4-20 1993-9-15 2018-2-14
QT正規表示式常見用法
1 只輸入數字 qregexp regexp 0 9 ui edit pos setvalidator new qregexpvalidator regexp 2 限制int和float輸入 整數部分限制為0 9輸入,最多輸入5個數字 小數部分限制1 9輸入,只能輸入一位。qregexp regex...
正規表示式常見錯誤
如果用 0 9 匹配 a 1234 num 備用狀態是否包括 a 1234 num 點號代表位置 p.164 答案是否定的.星號限定的部分總是能夠匹配.如果整個表示式都由星號控制,它就能夠匹配任何內容.在字串的開始位置,傳動機構對引擎進行第一次嘗試時的狀態,當然算匹配成功.在這種情況下,正規表示式匹...
正規表示式 常用正規表示式
一 校驗數字的表示式 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 有兩位小數的...