主頁(yè) > 知識(shí)庫(kù) > Python中re模塊的常用方法總結(jié)

Python中re模塊的常用方法總結(jié)

熱門(mén)標(biāo)簽:打印谷歌地圖標(biāo)注 電話(huà)機(jī)器人貸款詐騙 電話(huà)外呼系統(tǒng)招商代理 京華圖書(shū)館地圖標(biāo)注 佛山通用400電話(huà)申請(qǐng) 廣東旅游地圖標(biāo)注 淮安呼叫中心外呼系統(tǒng)如何 蘇州人工外呼系統(tǒng)軟件 看懂地圖標(biāo)注方法

前言

正則表達(dá)式作為計(jì)算機(jī)科學(xué)的一個(gè)概念,通常被用來(lái)檢索、替換那些符合某個(gè)規(guī)則的文本。正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,用事先定義好的規(guī)則字符串對(duì)字符串進(jìn)行過(guò)濾邏輯處理。

re模塊總結(jié),正則表達(dá)式。在網(wǎng)絡(luò)爬蟲(chóng)中對(duì)于數(shù)據(jù)定位,學(xué)習(xí)regex也很有必要

常用方法

  • re.compile()
    將指定的正則表達(dá)式模式編譯為正則表達(dá)式對(duì)象,可用于匹配和搜索
  • re.match()
    該方法用于匹配字符串開(kāi)頭的模式
  • re.serach()
    該方法用于匹配出現(xiàn)在字符串中任意位置的模式
  • re.findall()
    該方法返回字符串中制定正則表達(dá)式模式的所有非重疊匹配項(xiàng)
  • re.finditer()
    對(duì)于從左到右掃描字符串中的特定模式,該方法以迭代器的形式返回所有匹配的實(shí)例
  • re.sub()
    用于以替換串來(lái)替代字符串中特定的模式,他僅僅替換字符串中最左側(cè)出現(xiàn)的模式

重要標(biāo)識(shí)符

正則表達(dá)式可以包含一些可選標(biāo)志修飾符來(lái)控制匹配的模式。修飾符被指定為一個(gè)可選的標(biāo)志。多個(gè)標(biāo)志可以通過(guò)按位 OR(|) 它們來(lái)指定。如 re.I | re.M 被設(shè)置成 I 和 M 標(biāo)志:

常用表達(dá)式規(guī)則

舉例說(shuō)明

下面的代碼描述了其中一些方法,并展示了在處理字符串和正則表達(dá)式通常如何使用他們

import re
pattern = "python"
s1 = "Python is an excellent language"
s2 = "I love Python language.I also use Python to build applicants at work!"

re.match(pattern, string, flags=0)

從起始位置開(kāi)始根據(jù)模型去字符串中匹配指定內(nèi)容,匹配單個(gè)

re.match(pattern,s1)

因?yàn)榇笮?xiě),無(wú)法匹配成功

re.I 或 re.IGNORECASE 用于匹配不區(qū)分大小寫(xiě)的模式

re.match(pattern,s1,re.I)
re.Match object; span=(0, 6), match='Python'>
re.match(pattern,s1,re.IGNORECASE)
re.Match object; span=(0, 6), match='Python'>

re.search(pattern, string, flags=0)

根據(jù)模型去字符串中匹配指定內(nèi)容,匹配單個(gè)

現(xiàn)在來(lái)看下find()和search()方法在正則表達(dá)式是如何工作的

re.search(pattern,s2,re.IGNORECASE)
re.Match object; span=(7, 13), match='Python'>

re.findall(pattern, string, flags=0)

match and search均用于匹配單值,即:只能匹配字符串中的一個(gè),如果想要匹配到字符串中所有符合條件的元素,則需要使用 findall。

re.findall(pattern,s2,re.IGNORECASE)

['Python', 'Python']

re.sub(pattern, repl, string, count=0, flags=0)

用于文本替換的正則表達(dá)式對(duì)于查找和替換字符串中的特定文本標(biāo)識(shí)符很有用

用于替換匹配的字符串,比str.replace功能更加強(qiáng)大

re.sub(pattern,"Java",s2,flags=re.I)

'I love Java language.I also use Java to build applicants at work!'

re.subn(pattern,"Java",s2,flags=re.I)

('I love Java language.I also use Java to build applicants at work!', 2)

re.split(pattern, string, maxsplit=0, flags=0)

用匹配到的值做為分割點(diǎn),把值分割成列表

s1

'Python is an excellent language'

re.split(" ",s1)

['Python', 'is', 'an', 'excellent', 'language']

按數(shù)字分割

print(re.split("\d+","https://blog.csdn.net/qq_45176548"))

‘(?P…)' 分組匹配

s = '230701200104280028'
print(re.search('(?Pprovince>\d{3})(?Pcity>\d{3})(?Pborn_date>\d{8})(?Pseq>\d{4})',s))
print(re.search('(?Pprovince>\d{3})(?Pcity>\d{3})(?Pborn_date>\d{8})(?Pseq>\d{4})',s).groups())
res = re.search('(?Pprovince>\d{3})(?Pcity>\d{3})(?Pborn_date>\d{8})(?Pseq>\d{4})',s)
print(res.groupdict())

re.Match object; span=(0, 18), match='230701200104280028'>
('230', '701', '20010428', '0028')
{'province': '230', 'city': '701', 'born_date': '20010428', 'seq': '0028'}
---

總結(jié)

到此這篇關(guān)于Python中re模塊常用方法的文章就介紹到這了,更多相關(guān)Python中re模塊方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python中re模塊知識(shí)點(diǎn)總結(jié)
  • Python 常用模塊 re 使用方法詳解
  • python re模塊的高級(jí)用法詳解
  • Python中re模塊常用方法總結(jié)分析

標(biāo)簽:駐馬店 呼和浩特 湖州 畢節(jié) 衡水 江蘇 中山 股票

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python中re模塊的常用方法總結(jié)》,本文關(guān)鍵詞  Python,中,模塊,的,常用,方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python中re模塊的常用方法總結(jié)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Python中re模塊的常用方法總結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章