雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

正則表達(dá)式

當(dāng)前位置:主頁 > 網(wǎng)絡(luò)編程 > 正則表達(dá)式 >

正則表達(dá)式實(shí)現(xiàn)添加、刪除、替換三種功能

來源:本站原創(chuàng)|時(shí)間:2020-01-11|欄目:正則表達(dá)式|點(diǎn)擊:

最近呢,公司讓寫一個(gè)組件,要求用正則表達(dá)式構(gòu)建一個(gè)中文的匹配組件,許多問題就來了,大多是用自動(dòng)機(jī)來構(gòu)建一個(gè)正則表達(dá)式的引擎,小編雖然大學(xué)的時(shí)候?qū)W過編譯原理,可奈何現(xiàn)在已經(jīng)忘得差不多了,只能通過現(xiàn)有的正則表達(dá)式來進(jìn)行功能實(shí)現(xiàn)。

下面的代碼呢實(shí)現(xiàn)了通過用正則表達(dá)式來對(duì)某一個(gè)句子的添加、替換、刪除三種操作,不知道這個(gè)適不適合大家的口味,反正小編已經(jīng)做好讓公司頭批評(píng)的準(zhǔn)備了,因此小編是在是現(xiàn)學(xué)不來呀。

# -*- conding:utf-8 -*-
import re
txt = '這個(gè)池子的體積大約是34立方米容積'
'''role為匹配規(guī)則,re_out為替換部分格式為“\1(替換部分)”'''
def Replace(role,re_out):
 out = re.compile(role)
 String_out = out.sub(re_out,txt)
 print(String_out)
Replace(r'(這個(gè)池子的體積大約是34)(.*)',r'\1平方米')
'''
role為匹配規(guī)則,num為將要?jiǎng)h除的元素(從1開始)
'''
def Delete(role,num):
 out = re.search(role,txt).group(num)
 string = txt.split(out)
 String_out = ''.join(string)
 print(String_out)
Delete('(這個(gè)池子的體積大約是34)(.*)(容積)',2)
def Add(role,re_out):
 out = re.compile(role)
 String_out = out.sub(re_out,txt)
 print(String_out)
Add(r'(這個(gè)池子的體積大約是34)(.{0})',r'\1的')

下面的圖片是小編運(yùn)行這三個(gè)函數(shù)得到的結(jié)果,大家可以看看,如果有需要的可以參考一下,另外,小編需要人告訴我這個(gè)正則表達(dá)式如何用自動(dòng)機(jī)來實(shí)現(xiàn),他的原理是什么,歡迎大家的留言哦。

總結(jié)

以上所述是小編給大家介紹的正則表達(dá)式實(shí)現(xiàn)添加、刪除、替換三種功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)我們網(wǎng)站的支持!

上一篇:python 用正則表達(dá)式篩選文本信息的實(shí)例

欄    目:正則表達(dá)式

下一篇:沒有了

本文標(biāo)題:正則表達(dá)式實(shí)現(xiàn)添加、刪除、替換三種功能

本文地址:http://www.jygsgssxh.com/a1/zhengzebiaodashi/11234.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有