Excel/VBA 正则表达式归纳汇总

1.with结构。以下语句用来提取A列中的"成品"两个字前面的部分的中文,不含成品两个字,结果存放在第2列。使用了On Error Resume Next,表示错误时继续下一条。

Sub 提取口味()

Set regx = CreateObject("vbscript.regexp")

On Error Resume Next

With regx

.Global = True

.Pattern = "[\u4e00-\u9fa5]+(?=成品)"

For Each rg In Range([a1], Columns(1).End(xlDown))

Set k = .Execute(rg)

Cells(rg.Row, 2) = k(Row)

Next

End With

End Sub

二.提取汉字或数字,分别存放在指定单元格

Sub RegExpDemoSyntax()

Dim 正则, 结果集合, 结果

字符串 = Range("A2").Value

Set 正则 = CreateObject("vbscript.regexp")

正则.Pattern = "Name:(.*?),Phone:(\d+)"

'Global值为True返回所有符合要求的结果,反之只返回第一个符合要求的结果

正则.Global = True

'Execute(字符串)

Set 结果集合 = 正则.Execute(字符串)

If 结果集合.Count > 0 Then

i = 2

For Each 结果 In 结果集合

Range("B" & i) = 结果.submatches(0)

Range("C" & i) = 结果.submatches(1)

Range("D" & i) = 正则.Replace(字符串, "12")

i = i + 1

Next

End If

Set 正则 = Nothing

End Sub

返回结果

相关推荐
AC是你的谎言26 分钟前
c++仿muduo库实现高并发服务器--connection类
linux·服务器·c++·学习
sanzk1 小时前
S7-PLCSIM Advanced V3.0下载PLC显示红色IP
服务器·网络·tcp/ip
风123456789~1 小时前
【Linux专栏】多层变量的重定向赋值
linux·运维·服务器
零戚1 小时前
使用cursor/vscode开发服务器远程桌面应用(X11转发)
服务器·ide·vscode
white-persist1 小时前
Linux中,vi(vim)编辑器大部分快捷键
linux·运维·服务器·网络·安全·编辑器·vim
电商API_180079052471 小时前
微店常用API:获取商品详情接口|关键字搜索商品接口|获取快递费接口-打通商品运营与用户体验的技术桥梁
大数据·服务器·人工智能·爬虫·数据挖掘
好记忆不如烂笔头abc1 小时前
ob恢复租户报错result: -4184(Server out of disk space)
运维·服务器
孙同学要努力1 小时前
《Linux篇》进程/虚拟地址空间
linux·运维·服务器
大佬,救命!!!2 小时前
定时打印的练习整理
linux·服务器·python·学习笔记·学习方法·定时发送
阿巴~阿巴~3 小时前
深入理解sigaction函数:Linux信号处理机制与使用指南
linux·运维·服务器·信号处理