正規表示式

2021-08-20 11:45:41 字數 2171 閱讀 1637

正規表示式詳解

正規表示式**

import re

#正規表示式

#構建正規表示式

pattern = re.compile('hello')

#match()函式只檢測re是不是在string的開始位置匹配,

#search()會掃瞄整個string查詢匹配;

#也就是說match()只有在0位置匹配成功的話才有返回,

#如果不是開始位置匹配成功的話,match()就返回none。

res1 = re.match(pattern,'hello')

res2 = re.match(pattern,'hello cqc')

res3 = re.match(pattern,'helo')

res4 = re.match(pattern,'hello')

res5 = re.search(pattern,'world hello')

res6 = re.match(pattern,'world hello')

print res1

print res2

print res3 #none

print res4 #none

print res5

print res6 #none

#其他匹配

reg = re.compile('^he') #開頭是he

reg1 = re.compile('jack$') #結尾是jack

print re.search(reg,'he is jack')

print re.search(reg1,'he is jack')

#[a-z][1-9] \w 匹配字母數字及下劃線

reg3 = re.compile('\w') #查詢到兩個字母數字或下劃線

print re.search(reg3,'__ab13')

#單詞邊界\b,預設是退格字元,單詞邊界時,加上r'\b'

reg4 = re.compile(r'\bis\b')

print re.search(reg4,'his name is is jack')

reg = re.compile('[a-z]\d[a-z]') #乙個字母乙個數字再加3個字母,即a1bbb

print re.search(reg,'a1bbb2c')

reg5 = re.compile('([a-z]\d[a-z])') #連續出現兩次 乙個字母乙個數字1個字母,匹配3個,即a1bc2de3f

print re.search(reg5,'a1bb2cd3f') #匹配有沒有

print re.findall(reg5,'a1bb2cd3f') #['b2c']

reg6 = re.compile('([a-z]\d[a-z])') #乙個字母乙個數字1個字母,即a1bc2de3f

print re.search(reg6,'a1bb2cd3f')

print re.findall(reg6,'a1bb2cd3f') #['a1b', 'b2c', 'd3f']

#[a-z][1-9] \w 匹配字母數字及下劃線

reg3 = re.compile('\d') #查詢到2到4個數字

print re.search(reg3,'__ab134')

print re.findall(reg3,'__ab134')

reg = re.compile('\d+') #+號表示乙個及以上數字

print re.search(reg,'abc1')

email = re.compile('^[a-za-z0-9]+\w+@\w+\.com$') #表示」點「要加」\「轉義符

print re.search(email,'[email protected]')

import re

reg = re.compile('a.*b') #a到b之間有0到n個任意字元

print re.findall(reg,'aabab') #['aabab']貪婪模式

reg1 = re.compile('a.*?b') #a到b之間有0到1個任意字元

print re.findall(reg1,'aabab') #['aab', 'ab']非貪婪模式

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...