#coding=gbk
#正規表示式
import re #匯入正規表示式模組re
sr=re.findall('d', 'goodddness') #返回匹配結果
print(sr) #['d', 'd', 'd']
#正規表示式的元字元包括:^ $ * + ? [ ] \ | ( )
#如果需要作為普通字元,則需要轉義,如:\$
print(re.findall('fo', 'the quick brown fox jumps for foods')) #['fo', 'fo', 'fo']
print(re.findall('1+1=2', '1+1=2')) #,值為空
print(re.findall('1\+1=2', '1+1=2')) #['1+1=2'] \+為轉義
特殊字元:
#字元類
print(re.findall('fo[xr]','the quick fox brown jumps for food'))# 匹配字符集內任意字元,輸出:['fox', 'for']
print(re.findall('\d', '12345hello')) # \d表示0-9的數字 輸出:['1', '2', '3', '4', '5']
#邊界匹配符
print(re.findall('^a','abc')) # ^行開頭匹配符 輸出:['a']
print(re.findall('c$','abc')) # 行結尾 $ 輸出:['c']
預定義字串:
重複限定符:
#重複限定符
print(re.findall('\b[0-9]','23445')) #輸出為空
print(re.findall('[0-9]', '23445')) #輸出['234']
#選擇符 | ,用於選擇多個選擇的乙個
print(re.findall('green|blue|red','this is red,haha, blue')) #輸出['red', 'blue']
#分組()
#分組命名
m=re.search(r'(?p\d+)-(?p\d+)','**號碼為: 021-6343521')
print(m.groupdict()) #輸出:
print(re.search('to','to be or , \not to be'))#輸出<_sre.sre_match object span="(15," match="to">
print(re.match('to','to be or \not tobe')) #match 函式從開頭開始匹配
#正規表示式物件
rex1=re.compile('to') #將正規表示式編譯成正規表示式物件
print(rex1.findall('to be or not to be')) #返回['to', 'to']
#替換字串
print(re.sub("bad","good","it tastes bad")) #it tastes good
#分割字串
print(re.split('\w+','hello;better;haha!'))#輸出['hello', 'better', 'haha']
#只分割一次
print(re.split('\w+','hello;better;haha!',1))#輸出['hello', 'better;haha!']
常用正規表示式:
#正規表示式舉例子
#驗證乙個字串是否是正確的郵箱格式
def check_email(strmail):
rex=re.compile(r'^[\w\.\-]+@([\w\-]+\.)+[\w\-]+$')
return true if rex.match(strmail) else false
str1='[email protected]'
str2='mjun.mjn.pp.com'
print('這個郵箱格式:',check_email(str1)) #true
print('這個郵箱格式:',check_email(str2)) #false
#從輸入字串中取出html標記
def html_txt(html):
reg=re.compile(r'<.>')
return reg.sub('',html)
str1=r'welcome python world !'
print(html_txt(str1)) #輸出 welcome python world !
13 python 正規表示式
f.o f和o之間是任意字元 例如 fbo123 任意兩個字元 用來匹配.the 表示包含the的任何字串 from 表示以from開頭的所有字串都符合 bin 表示以 bin結束的所有字串 abc 固定必須是abc a asd c ac中間可以是 a s d 中的乙個字元 ab cd 可以是ac ...
Python 正規表示式(基礎)
正規表示式 regular expression 是乙個特殊的字串行,描述了一種字串匹配的模式可以用來檢查乙個串是否含有某種子串 將匹配的子串替換或者從某個串中取出符合某個條件的子串,或者是在指定的文章中,抓取特定的字串等。python處理正規表示式的模組是re模組,它是python語言擁有全部的正...
Python正規表示式基礎
直接給出字元就是精確匹配。特殊字元首先需要轉義如 d 匹配乙個數字,w 匹配乙個字母或者數字。123 d 可以匹配 1231 但是無法匹配 123a d d d 可以匹配到 123 w w w 可以匹配到 py3 表示任意乙個字元,py.可以表示py3 py 等 表示任意長個字元,表示至少乙個字元,...