正則表達式實現添加、刪除、替換三種功能

 更新時間:2019-04-17 21:42:57   作者:佚名   我要評論(0)

最近呢,公司讓寫一個組件,要求用正則表達式構建一個中文的匹配組件,許多問題就來了,大多是用自動機來構建一個正則表達式的引擎,小編雖然大學的時候學過編

最近呢,公司讓寫一個組件,要求用正則表達式構建一個中文的匹配組件,許多問題就來了,大多是用自動機來構建一個正則表達式的引擎,小編雖然大學的時候學過編譯原理,可奈何現在已經忘得差不多了,只能通過現有的正則表達式來進行功能實現。

下面的代碼呢實現了通過用正則表達式來對某一個句子的添加、替換、刪除三種操作,不知道這個適不適合大家的口味,反正小編已經做好讓公司頭批評的準備了,因此小編是在是現學不來呀。

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

下面的圖片是小編運行這三個函數得到的結果,大家可以看看,如果有需要的可以參考一下,另外,小編需要人告訴我這個正則表達式如何用自動機來實現,他的原理是什么,歡迎大家的留言哦。

總結

以上所述是小編給大家介紹的正則表達式實現添加、刪除、替換三種功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:

  • Python使用正則表達式實現文本替換的方法
  • Java基于正則表達式實現的替換匹配文本功能【經典實例】
  • MySQL中使用replace、regexp進行正則表達式替換的用法分析
  • SQL Server中利用正則表達式替換字符串的方法
  • Javascript 正則表達式實現為數字添加千位分隔符
  • 使用 js+正則表達式為關鍵詞添加鏈接
  • javascript中使用正則表達式刪除前后空格的方法
  • 刪除javascript中注釋語句的正則表達式
  • 通過正則表達式刪除空行的方法
  • javascript中使用正則表達式實現刪除字符串中的前后空格
  • asp.net正則表達式刪除指定的HTML標簽的代碼

相關文章

  • 正則表達式實現添加、刪除、替換三種功能

    正則表達式實現添加、刪除、替換三種功能

    最近呢,公司讓寫一個組件,要求用正則表達式構建一個中文的匹配組件,許多問題就來了,大多是用自動機來構建一個正則表達式的引擎,小編雖然大學的時候學過編
    2019-04-17
  • 探究ASP.NET Core Middleware實現方法

    探究ASP.NET Core Middleware實現方法

    概念 ASP.NET Core Middleware是在應用程序處理管道pipeline中用于處理請求和操作響應的組件。 每個組件: 在pipeline中判斷是否將請求傳遞給下一個組件
    2019-04-17
  • PHP-FPM的配置與優化講解

    PHP-FPM的配置與優化講解

    PHP-FPM(FastCGI Process Manager:FastCGI進程管理器)是一個PHPFastCGI管理器,用于管理 PHP 進程池、接收和處理 Web 服務器的請求。PHP-FPM 會創建一個主進
    2019-04-17
  • PHP封裝的數據庫模型Model類完整示例【基于PDO】

    PHP封裝的數據庫模型Model類完整示例【基于PDO】

    本文實例講述了PHP封裝的數據庫模型Model類。分享給大家供大家參考,具體如下: <&#63;php //引入配置文件 include "../Config/config.php"; c
    2019-04-17
  • 正則表達式實現手機號中間4位數隱藏或者只顯示末尾四位數

    正則表達式實現手機號中間4位數隱藏或者只顯示末尾四位數

    下面看下正則表達式實現手機號中間4位數隱藏或者只顯示末尾四位數 // 匹配手機號首尾,以類似“123****8901”的形式輸出 '12345678901'.replace(/(\d{3})\d
    2019-04-17
  • .net core中Quartz的使用方法

    .net core中Quartz的使用方法

    原來工作中有用到定時任務Quartz,不過是在MVC項目中,現在net core項目中也要用到,就開始改版。中間發現在網上的教程只有執行定時計劃的過程,卻很少有人寫
    2019-04-17
  • PHP DB 數據庫連接類定義與用法示例

    PHP DB 數據庫連接類定義與用法示例

    本文實例講述了PHP DB 數據庫連接類定義與用法。分享給大家供大家參考,具體如下: 聲明: 近期觀看了一節 PHP 消息隊列視頻,對于講師WiconWang提供的代碼,
    2019-04-17
  • php生成word并下載代碼實例

    php生成word并下載代碼實例

    本文實例講述了php如何生成word并下載的具體實例。分享給大家供大家參考,具體如下: 1.前端代碼 <!DOCTYPE html> <html> <head> <title>PHP生成Word文檔<
    2019-04-17
  • PHP的簡單跳轉提示的實現詳解

    PHP的簡單跳轉提示的實現詳解

    在PHP開發中,尤其是MVC框架或者項目中,會碰到很多跳轉情況,比如:登錄成功或失敗后的跳轉等等。 以下以MVC框架開發中為基礎,示例講解: 在基礎控制器類中
    2019-04-17
  • JS正則表達式 整合 (值得收藏)

    JS正則表達式 整合 (值得收藏)

    url的正則表達式:包括IP,域名(domain),ftp,二級域名,域名中的文件,域名加上端口!用戶名等等信息 function IsURL(str_url) { var strRegex = "^
    2019-04-17

最新評論

黑龙江新11选5开奖结果