使用vba做一个正则表达式提取文本工具

测试中经常会遇到对数据的处理,比如我要删除某些特定数据,数据源是从网页请求中抓取,这时候可能复制下来一大堆内容,其中我们只需要特定的某些部分,笔者通常做法是拷贝到notepad++中处理,结合RegTester工具,但是RegTest需要导出匹配数据,不能直接拷贝,稍微麻烦了一点点......于是想用vba写一个正则表达式提取工具好了,又不花时间。(晕,刚想起来其实会有在线工具的,比如:http://tool.oschina.net/regex/),虽然找到了在线工具,还是说一下自己做的这个吧~~~

1、首先是界面设计,很清晰

一个原始文本框,一个正则表达式输入框,一个提取文本显示框,一个执行按钮。

2、程序出入口

由于是单独的一个小工具,简单起见,不做加载宏或者Ribbon了,直接保存一个xla,在文件打开时启动用户窗体展示,窗体关闭后,关闭本文件;实现一个闭环。

(1)打开文件启动UserForm

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 Sub

3、提取文本实现,使用VBScript.RegExp对象,实现了基本的匹配,再进行拼接文本

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 Sub

4、效果图如下,放到了网盘里,需要的同学可以下载玩玩,链接:https://pan.baidu.com/s/1V2O4kd-Jl-mkiHyJMD93Gg 密码:1ily

原文地址:https://www.cnblogs.com/kusy/p/8900555.html

时间: 2024-08-05 13:45:49

使用vba做一个正则表达式提取文本工具的相关文章

C#正则表达式提取文本中以逗号间隔的数据

使用正则表达式提取文本数据到内存是很方便的技术,下面通过一个例子介绍一下如何使用正则表达式提取文本 文本中内容格式 1,2,3,4,5 2,2,2,2,2 3,3,3,3,3 C#代码如下 public List<List<string>> GetDataCSV(string path) {         string pattern = @"\d+"; List<List<string>> data = new List<Lis

Excel-VBA正则表达式提取文本案例

背景是这样的,我手上有一份统计表,需要将IP地址里的省市提取出来,以便于处理.因此我首先想到了Python里的正则表达式,打算写一个自定义函数去批量提取.然而之前没学VBA里的正则表达式语法,因此就去网上搜了一下,结果发现根本不能运行.几经辗转,总算搞定,因此总结一下,供后来者参考. 编程目的:实现IP地址中省市信息的提取.    主要涉及的知识点:VBA函数.正则表达式 代码如下: Function 提取省市(rng As Range, name) Application.Volatile S

看到一个词语提取小工具,分享给有标签、词库需求的同学们

关于词语小工具的描述快戳下面链接~~~ https://forum.huaweicloud.com/thread-8391-1-1.html 不想看文章,想立即试用小工具的,请戳下面~~~http://fe2e6fd859034d40a3269f7b541e31de.apigw.cn-north-1.huaweicloud.com/ 原文地址:http://blog.51cto.com/13716423/2107097

使用 Linux 文本工具简化数据的提取

Linux 操作系统中有很多文件:配置文件.文本文件.文档文件.日志文件.用户文件,这个清单还在不断增长.通常,这些文件都包含了要查找重要数据所需要访问的一些信息.尽管我们可以简单地使用诸如 cat.more 之类的标准工具将大部分文件的内容输出到屏幕上,但是系统中有更加合适的工具可以对文本进行过滤和处理,这样就可以只关心我们想要的内容. 在阅读本文的过程中,您可以打开 shell 并体验一下每个工具的例子. 正则表达式 在开始之前,我们需要首先理解什么是正则表达式,以及如何使用正则表达式. 在

接口测试工具-Jmeter使用笔记(五:正则表达式提取器)

(正则表达式提取器是Jmeter关联中的一种)使用场景: 有两个HTTP请求,请求A的返回数据中有一个字段"ABCD",该字段要作为请求B的入参. 1.添加方式 请求A上右键-->后置处理器->正则表达式提取器 2.提取A请求中的taskCode对应的值 为了获取到上图中圈起来的这个值,要配置正则表达式提取器: 说明: (1)引用名称:下一个请求要引用的参数名称,如填写Atask,则可用${Atask}引用它. (2)正则表达式: ():括起来的部分就是要提取的. .:匹配

使用正则表达式配合文本搜索工具Grep以及Egrep快速搜索文本

正则表达式: 计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 正则表达式由两类组成: 基本正则表达式与扩展正则表达式 基本正则表达式: 字符匹配 .:匹配单个字符 []:匹配指定集合中的任意单个字符 [:digit:]:所有数字(0-9) [:lower:]:所有小写字母(a-z) [:upper:]:所有大写字母(A-Z) [:space:]:空白符 [:punct:]:特殊字

正则表达式和文本搜索工具grep

正则表达式是由字面文本和具有特殊意义的符号组成的.我们可以根据具体需求,使用它们构造出合适的正则表达式来匹配文本.它是一种匹配文本的通用语言.正则表达式是模式匹配技术的核心,借助合适的正则表达式,可以生成我们所需的各类输出结果,例如过滤.剥离.替换.搜索等. 正则表达式的基本组成部分 ^ #行起始标记(使用cat -a显示空格,行首,行尾等标记.) #示例 ^It 匹配以It起始的行 $ #行尾标记 #示例 It$ 匹配以It结尾的行 . #匹配任意一个字符 #示例:Hack.匹配Hackl和H

详解正则表达式以及文本处理工具&mdash;grep、egrep的用法和特性

一.grep (1)grep简介 grep:全称是Global search REgular expression and Print out the line,全局搜索正则表达式并输出合适的行. grep是一种强大的文本搜索工具,根据用户指定的文本模式(搜索条件)对目标文件进行逐行搜索,显示能匹配到的行.(只对文本进行搜索处理) Unix的grep家族包含grep.egrep和fgrep. (2)grep的用法 语法格式:grep [option]... 'PATTERN' FILE... 选

【VBA研究】VBA做了个简单的试题生成工具

作者:iamlasong 单位对新上岗的员工进行培训,培训结束后,需要进行考试,需要一个简单的考试系统,让新员工既可以自己练习,也可以进行测试,为此,我们做了一个题库,员工可以自己生成一套考题,测试自己的掌握程度,也可以集中起来进行考试,测试培训效果. 系统数据库很简单,主要有两个表,一个是题库,一个是成绩. create table EMSAPP_TEST_QUESTION ( type                  CHAR(1), id                    NUMBE