使用vba作一個正則表達式提取文本工具

     測試中常常會遇到對數據的處理,好比我要刪除某些特定數據,數據源是從網頁請求中抓取,這時候可能複製下來一大堆內容,其中咱們只須要特定的某些部分,筆者一般作法是拷貝到notepad++中處理,結合RegTester工具,可是RegTest須要導出匹配數據,不能直接拷貝,稍微麻煩了一點點......因而想用vba寫一個正則表達式提取工具好了,又不花時間。(暈,剛想起來其實會有在線工具的,好比:http://tool.oschina.net/regex/),雖然找到了在線工具,仍是說一下本身作的這個吧~~~正則表達式

一、首先是界面設計,很清晰工具

一個原始文本框,一個正則表達式輸入框,一個提取文本顯示框,一個執行按鈕。測試

二、程序出入口.net

因爲是單獨的一個小工具,簡單起見,不作加載宏或者Ribbon了,直接保存一個xla,在文件打開時啓動用戶窗體展現,窗體關閉後,關閉本文件;實現一個閉環。設計

(1)打開文件啓動UserFormorm

Private Sub Workbook_Open()
    Application.Wait Now() + TimeSerial(0, 0, 1)
    RegGetFrm.Show 0
End Sub
(2)關閉UserForm時,關閉文件對象

 Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    ThisWorkbook.Close
End Subblog

 三、提取文本實現,使用VBScript.RegExp對象,實現了基本的匹配,再進行拼接文本ip

    Set regex = CreateObject("VBScript.RegExp")
    With regex
        .pattern = myPattern
        .Global = True
        .IgnoreCase = False
        Set matchs = .Execute(origiText)
    End With
    
    For Each m In matchs
        txtTarget.Text = txtTarget.Text + m + Chr(10)
    Next
    
    Exit Subget

 四、效果圖以下,放到了網盤裏,須要的同窗能夠下載玩玩,連接:https://pan.baidu.com/s/1V2O4kd-Jl-mkiHyJMD93Gg 密碼:1ily

相關文章
相關標籤/搜索