国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python基礎(chǔ)教程:-正則表達(dá)式基本語法以及re模塊

y1chuan / 2019人閱讀

摘要:正則表達(dá)式關(guān)閉或可選標(biāo)志。如果所含正則表達(dá)式,以表示,在當(dāng)前位置成功匹配時成功,否則失敗。否則指的是八進(jìn)制字符碼的表達(dá)式。

正則表達(dá)式是個很牛逼的東西,不管是在javascript,還是在Python web開發(fā)(http://www.maiziedu.com/course/python-px...)中,我們都會遇到正則表達(dá)式,雖然javascript和Python的正則表達(dá)式區(qū)別不大,但是正則表達(dá)式是Python中必不可少的一部分,所以今天就跟大家一起討論一下python中的re模塊。
re模塊包含對正則表達(dá)式的支持。
什么是正則:
正則表達(dá)式是可以匹配文本片段的模式。
正則表達(dá)式’Python’可以匹配’python’
通配符
.表示匹配任何字符:
‘.ython’可以匹配’python’和’fython’
對特殊字符進(jìn)行轉(zhuǎn)義:
‘python.org’匹配‘python.org’
字符集
‘[pj]ython’能夠匹配’python’和’jython’
反轉(zhuǎn)字符集
1’可以匹配除了abc之外的任何字符
選擇符
使用管道符號|
可選項
加上問好就變?yōu)榱丝蛇x項:
r’(http://)?(www.)?python.org‘只能匹配下面幾種:
"http://www.python.org"
"http://python.org"
"www.python.org"
"python.org"
重復(fù)子模式
*:允許模式重復(fù)0次或多次
+:允許模式重復(fù)1次或多次
{m, n}允許模式重復(fù)m-n次
當(dāng)然,正則語法規(guī)則很多,遠(yuǎn)不止上面的這些。但是我們只能點到為止了,因為這篇博客的目的是介紹Python中的模塊,re模塊。
re 模塊使 Python 語言擁有全部的正則表達(dá)式功能。
compile 函數(shù)根據(jù)一個模式字符串和可選的標(biāo)志參數(shù)生成一個正則表達(dá)式對象。該對象擁有一系列方法用于正則表達(dá)式匹配和替換。
re 模塊也提供了與這些方法功能完全一致的函數(shù),這些函數(shù)使用一個模式字符串做為它們的第一個參數(shù)。
re中重要的函數(shù):
compile(pattern[, flags]) 根據(jù)包含正則表達(dá)式的字符串創(chuàng)建模式對象
search(pattern, string[, flags]) 在字符串中尋找模式
match(pattern, string[, flags]) 在字符串的開始處匹配模式split(pattern, string[, maxsplit=0]) 根據(jù)匹配項分割字符串
findall(pattern, string) 列出字符串中模式的所有匹配項sub(pat, rep, string[, count=0]) 字符串中所有pat的匹配項用repl替換
escape(string) 將字符串中所有特殊表達(dá)式字符轉(zhuǎn)義
下面就進(jìn)行簡單的應(yīng)用:
使用match
import re
print(re.match("www", "www.runoob.com").span()) # 在起始位置匹配
print(re.match("com", "www.runoob.com")) # 不在起始位置匹配
使用search
import reprint(re.search("www", "www.runoob.com").span()) # 在起始位置匹配print(re.search("com", "www.runoob.com").span()) # 不在起始位置匹配
這時候需要停一下,match和search的區(qū)別呢?
看看結(jié)果先:
match例子中結(jié)果:
(0, 3)None

search例子中結(jié)果:
(0, 3)
(11, 14)
match()函數(shù)只檢測RE是不是在string的開始位置匹配,search()會掃描整個string查找匹配;
也就是說match()只有在0位置匹配成功的話才有返回,如果不是開始位置匹配成功的話,match()就返回none。
search()會掃描整個字符串并返回第一個成功的匹配。
使用sub
Python 的re模塊提供了re.sub用于替換字符串中的匹配項。

!/usr/bin/pythonimport re

phone = "2004-959-559 # This is Phone Number"

Delete Python-style comments

num = re.sub(r"#.*$", "", phone)print "Phone Num : ", num

Remove anything other than digits

num = re.sub(r"D", "", phone) print "Phone Num : ", num
結(jié)果:
Phone Num : 2004-959-559
Phone Num : 2004959559
最后獻(xiàn)上菊花:
^ 匹配字符串的開頭
$ 匹配字符串的末尾。
. 匹配任意字符,除了換行符,當(dāng)re.DOTALL標(biāo)記被指定時,則可以匹配包括換行符的任意字符。
[...] 用來表示一組字符,多帶帶列出:[amk] 匹配 "a","m"或"k"
2 不在[]中的字符:1 匹配除了a,b,c之外的字符。
re* 匹配0個或多個的表達(dá)式。
re+ 匹配1個或多個的表達(dá)式。
re? 匹配0個或1個由前面的正則表達(dá)式定義的片段,非貪婪方式
re{ n}
re{ n,} 精確匹配n個前面表達(dá)式。
re{ n, m} 匹配 n 到 m 次由前面的正則表達(dá)式定義的片段,貪婪方式
a| b 匹配a或b
(re) G匹配括號內(nèi)的表達(dá)式,也表示一個組
(?imx) 正則表達(dá)式包含三種可選標(biāo)志:i, m, 或 x 。只影響括號中的區(qū)域。
(?-imx) 正則表達(dá)式關(guān)閉 i, m, 或 x 可選標(biāo)志。只影響括號中的區(qū)域。
(?: re) 類似 (...), 但是不表示一個組
(?imx: re) 在括號中使用i, m, 或 x 可選標(biāo)志
(?-imx: re) 在括號中不使用i, m, 或 x 可選標(biāo)志
(?#...) 注釋.
(?= re) 前向肯定界定符。如果所含正則表達(dá)式,以 ... 表示,在當(dāng)前位置成功匹配時成功,否則失敗。但一旦所含表達(dá)式已經(jīng)嘗試,匹配引擎根本沒有提高;模式的剩余部分還要嘗試界定符的右邊。
(?! re) 前向否定界定符。與肯定界定符相反;當(dāng)所含表達(dá)式不能在字符串當(dāng)前位置匹配時成功
(?> re) 匹配的獨立模式,省去回溯。
w 匹配字母數(shù)字
W 匹配非字母數(shù)字
s 匹配任意空白字符,等價于 [ f].
S 匹配任意非空字符
d 匹配任意數(shù)字,等價于 [0-9].
D 匹配任意非數(shù)字
A 匹配字符串開始
 匹配字符串結(jié)束,如果是存在換行,只匹配到換行前的結(jié)束字符串。c
z 匹配字符串結(jié)束
G 匹配最后匹配完成的位置。
 匹配一個單詞邊界,也就是指單詞和空格間的位置。例如, "er" 可以匹配"never" 中的 "er",但不能匹配 "verb" 中的 "er"。
B 匹配非單詞邊界。"erB" 能匹配 "verb" 中的 "er",但不能匹配 "never" 中的 "er"。
, , 等. 匹配一個換行符。匹配一個制表符。等
1...9 匹配第n個分組的子表達(dá)式。
10 匹配第n個分組的子表達(dá)式,如果它經(jīng)匹配。否則指的是八進(jìn)制字符碼的表達(dá)式。
以上就是對python正則表達(dá)式基礎(chǔ)語法及re模塊的詳解內(nèi)容,希望能幫助到大家。


abc ?

... ?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/37835.html

相關(guān)文章

  • PythonPython正則達(dá)式使用指導(dǎo)

    摘要:反斜杠的困擾與大多數(shù)編程語言相同,正則表達(dá)式里使用作為轉(zhuǎn)義字符,這就可能造成反斜杠困擾。文本中正則表達(dá)式結(jié)束搜索的索引。以元組形式返回全部分組截獲的字符串。用于指定最大分割次數(shù),不指定將全部分割。 1. 正則表達(dá)式基礎(chǔ) 1.1. 簡單介紹 正則表達(dá)式并不是Python的一部分。正則表達(dá)式是用于處理字符串的強(qiáng)大工具,擁有自己獨特的語法以及一個獨立的處理引擎,效率上可能不如str自帶的方法...

    nihao 評論0 收藏0
  • 初探python之做一個簡單小爬蟲

    摘要:準(zhǔn)備工作初探,這個文章屬于自己的一個總結(jié)。所以教程面向新手,無技術(shù)含量。凡是報錯信息看到,就是表示縮進(jìn)不一致。注由于原網(wǎng)址不方便公布,代碼中的網(wǎng)址全部替換為了。 準(zhǔn)備工作 初探python,這個文章屬于自己的一個總結(jié)。所以教程面向新手,無技術(shù)含量。python環(huán)境Linux基本都有,Windows下官網(wǎng)也提供了便利的安裝包,怎么安裝配置網(wǎng)上有很多教程在此就不一一說明。我使用的pytho...

    Juven 評論0 收藏0
  • python-文本處理和正則達(dá)式

    摘要:標(biāo)記一個子表達(dá)式的開始和結(jié)束位置。用和進(jìn)行搜索和替換二者幾乎是一樣的,都是將某字符串中所有匹配正則表達(dá)式模式的部分進(jìn)行替換。 【未完成初稿】這周在工作中遇到很多需要從一段字符中增刪查改的工作,第一遍用自己寫的腳本去做,結(jié)果是可重用性不高,而且效率也不太好。其中也用到了python中的正則表達(dá)式部分re,后來就想能不能將我遇到的這類問題全部用正則去解決,具體就是python的re模塊。答...

    dailybird 評論0 收藏0
  • Python正則達(dá)式保姆式教學(xué),帶你精通大名鼎鼎的正則

    摘要:今天來給大家分享一份關(guān)于比較詳細(xì)的正則表達(dá)式寶典,學(xué)會之后你將對正則表達(dá)式達(dá)到精通的狀態(tài)。正則表達(dá)式是用在方法當(dāng)中,大多數(shù)的字符串檢索都可以通過來完成。導(dǎo)入模塊在使用正則表達(dá)式之前,需要導(dǎo)入模塊。 ...

    tulayang 評論0 收藏0
  • Python 正則達(dá)式

    摘要:今天就專門看看正則表達(dá)式。下面是一個正則表達(dá)式最簡單的使用例子。這個例子使用了正則表達(dá)式模塊的函數(shù),它會返回所有符合模式的列表。查詢標(biāo)志讓正則表達(dá)式具有不同的行為。,按給定正則表達(dá)式分割字符串。,正則表達(dá)式中捕獲組的數(shù)量。 最近研究Python爬蟲,很多地方用到了正則表達(dá)式,但是沒好好研究,每次都得現(xiàn)查文檔。今天就專門看看Python正則表達(dá)式。本文參考了官方文檔 re模塊。 模式 首...

    FrancisSoung 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<