激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

香港云服务器
服務(wù)器之家 - 編程語言 - 正則表達(dá)式 - python 正則表達(dá)式 re.sub & re.subn

python 正則表達(dá)式 re.sub & re.subn

2020-08-31 15:43sub2020 正則表達(dá)式

正則表達(dá)式一個比較常見的用途是找到所有模式匹配的字符串并用不同的字符串來替換它們。sub方法提供一個替換值,可以是字符串或函數(shù),和一個要被處理的字符串。這篇文章主要介紹了python 正則表達(dá)式 re.sub & re.subn,需要的朋友

python正則表達(dá)式模塊簡介

Python 自1.5版本起增加了re 模塊,它提供 Perl 風(fēng)格的正則表達(dá)式模式。Python 1.5之前版本則是通過 regex 模塊提供 Emacs 風(fēng)格的模式。Emacs 風(fēng)格模式可讀性稍差些,而且功能也不強,因此編寫新代碼時盡量不要再使用 regex 模塊,當(dāng)然偶爾你還是可能在老代碼里發(fā)現(xiàn)其蹤影。

就其本質(zhì)而言,正則表達(dá)式(或 RE)是一種小型的、高度專業(yè)化的編程語言,(在Python中)它內(nèi)嵌在Python中,并通過 re 模塊實現(xiàn)。使用這個小型語言,你可以為想要匹配的相應(yīng)字符串集指定規(guī)則;該字符串集可能包含英文語句、e-mail地址、TeX命令或任何你想搞定的東西。然后你可以問諸如“這個字符串匹配該模式嗎?”或“在這個字符串中是否有部分匹配該模式呢?”。你也可以使用 RE 以各種方式來修改或分割字符串。

正則表達(dá)式模式被編譯成一系列的字節(jié)碼,然后由用 C 編寫的匹配引擎執(zhí)行。在高級用法中,也許還要仔細(xì)留意引擎是如何執(zhí)行給定 RE ,如何以特定方式編寫 RE 以令生產(chǎn)的字節(jié)碼運行速度更快。本文并不涉及優(yōu)化,因為那要求你已充分掌握了匹配引擎的內(nèi)部機制。

正則表達(dá)式語言相對小型和受限(功能有限),因此并非所有字符串處理都能用正則表達(dá)式完成。當(dāng)然也有些任務(wù)可以用正則表達(dá)式完成,不過最終表達(dá)式會變得異常復(fù)雜。碰到這些情形時,編寫 Python 代碼進(jìn)行處理可能反而更好;盡管 Python 代碼比一個精巧的正則表達(dá)式要慢些,但它更易理解。

正則表達(dá)式一個比較常見的用途是找到所有模式匹配的字符串并用不同的字符串來替換它們。sub方法提供一個替換值,可以是字符串或函數(shù),和一個要被處理的字符串。

Grammar:

?
1
re.sub(pattern, repl, string[, count])

使用repl替換string中每一個匹配的子串后返回替換后的字符串。

當(dāng)repl是一個字符串時,可以使用\id或\g、\g引用分組,但不能使用編號0。

當(dāng)repl是一個方法時,這個方法應(yīng)當(dāng)只接受一個參數(shù)(Match對象),并返回一個字符串用于替換(返回的字符串中不能再引用分組)。

count用于指定最多替換次數(shù),不指定時全部替換。

?
1
re.subn(pattern, repl, string[, count])

返回 (sub(repl, string[, count]), 替換次數(shù))。

Case:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
#coding=utf-8
import re
str = "https://i.cnb1logs.co2m/Edi3tPosts.asp4x?opt=999"
pattern=re.compile(r'(\.)')
print '\.     :' ,re.sub(pattern,'-',str)
pattern=re.compile(r'\/([^*]+)\/')
print '\/([^*]+)\/ :' ,re.sub(pattern,r'<em>\1<em>',str)
pattern = re.compile(r'(\w+)(\w+)(\d+)')
#先切片測試
print re.split(pattern,str)
print re.sub(pattern,r'\3 \1',str)
#subn統(tǒng)計sub替換次數(shù)
print re.subn(pattern,r'\3 \1',str)

Output

?
1
2
3
4
5
6
\.     : https://i-cnb1logs-co2m/Edi3tPosts-asp4x?opt=999
\/([^*]+)\/ : https:<em>/i.cnb1logs.co2m<em>Edi3tPosts.asp4x?opt=999
['https://i.', 'cn', 'b', '1', 'logs.', 'c', 'o', '2', 'm/', 'Ed', 'i', '3', 'tPosts.', 'as', 'p', '4', 'x?opt=', '9', '9', '9', '']
https://i.1 cnlogs.2 cm/3 EdtPosts.4 asx?opt=9 9
('https://i.1 cnlogs.2 cm/3 EdtPosts.4 asx?opt=9 9', 5)
***Repl Closed***

總結(jié)

原文鏈接:https://www.cnblogs.com/sub2020/p/7942113.html

延伸 · 閱讀

精彩推薦
456
主站蜘蛛池模板: 久久久久久亚洲综合影院红桃 | 日韩精品久久久久久久九岛 | 国产成人高潮免费观看精品 | 久久久一区二区三区精品 | 色淫湿视频 | 在线视频 日韩 | 国产免费午夜 | 成人在线视频精品 | 青青操国产 | 高清国产午夜精品久久久久久 | 91丝袜 | 国产一区二区精彩视频 | 美女毛片儿 | 欧美日韩夜夜 | 日韩黄站| 91专区在线观看 | 91在线免费观看 | 欧美a视频| 欧美日韩精品不卡一区二区三区 | 美女av在线免费观看 | www.com香蕉 | 欧美日韩亚洲精品一区二区三区 | 亚洲精品 欧美 | 毛片视频在线免费观看 | 精品国产一区二区三区四区阿崩 | www.91pron| 模特三级在线观看 | 日本s级毛片免费观看 | 国产88久久久国产精品免费二区 | 美女羞羞视频网站 | 最新av网址在线观看 | 久久久中精品2020中文 | 免费毛片免费看 | 一级片免费观看 | 一级爱片 | 国产亚洲精品久久久闺蜜 | 久草成人在线观看 | 最新在线黄色网址 | 福利免费视频 | chinese军人gay呻吟 | 国产无区一区二区三麻豆 |