Python基礎(13)正規表示式

2021-08-20 11:52:08 字數 2693 閱讀 5536

#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 等 表示任意長個字元,表示至少乙個字元,...