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

返回结果

相关推荐
行云流水剑34 分钟前
【学习记录】宝塔面板 + Docker 快速部署 RustDesk 自建远程控制服务器
服务器·docker·开源·p2p·rustdesk
一只游鱼44 分钟前
vue+springboot项目部署到服务器
服务器·vue.js·spring boot·部署
L_09071 小时前
【Linux】Linux 常用指令2
linux·服务器
evo-master1 小时前
linux问题10--克隆后ip地址和源linux主机相同
linux·运维·服务器
sayhi_yang1 小时前
服务器上搭建支持GPU的DL+LLM Docker镜像
运维·服务器·docker
一匹电信狗2 小时前
【MySQL】数据库基础
linux·运维·服务器·数据库·mysql·ubuntu·小程序
FL16238631292 小时前
VMware运行python脚本提示libGL error: MESA-LOADER: failed to open swrast
linux·运维·服务器
路由侠内网穿透2 小时前
本地部署开源视频存档和搜索引擎工具 TubeArchivist 并实现外部访问
服务器·网络·windows·tcp/ip·搜索引擎·开源
未来之窗软件服务3 小时前
操作系统应用开发(十四)RustDesk服务器配置——东方仙盟筑基期
运维·服务器·远程桌面·rustdesk·仙盟创梦ide·东方仙盟
ms72wx4 小时前
拥抱终端:Linux 新手命令行入门指南
linux·运维·服务器