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

返回结果

相关推荐
alphaTao37 分钟前
LeetCode 每日一题 2026/3/23-2026/3/29
服务器·windows·leetcode
风酥糖2 小时前
在Termux中部署一个简单的服务导航页
linux·服务器·安卓
释怀不想释怀2 小时前
硬盘分区:fdisk
linux·运维·服务器
时空无限2 小时前
ubuntu 22.04 如何使用命令查看配置防火墙规则
服务器·网络·ubuntu
vvw&3 小时前
如何在 Linux 中安装和使用 nftables
linux·运维·服务器·ubuntu
桌面运维家3 小时前
KVM虚拟机:Neutron网络故障诊断与修复实战
服务器·网络·php
zl_dfq3 小时前
计算机网络 之 【http协议】(简易HTTP服务器实现逻辑)
服务器·计算机网络·http
全栈开发圈3 小时前
新书速览|Excel+DeepSeek会计与财务高效办公
语言模型·excel
天启HTTP4 小时前
多线程环境下,动态IP怎么分配最合理
java·服务器·网络