excel 正则表达式(excel中使用正则表达式)

本文目录
excel中使用正则表达式
Function JiSuan(Rng As Range) As Single
Dim Reg As New RegExp
Dim R As String
On Error GoTo ErrHand
R = (Rng)
Reg.Global = True
Reg.Pattern = "|m|M"
R = Reg.Replace(R, "")
Reg.Pattern = "×"
R = Reg.Replace(R, "*")
RegSZCC R
RegSZJJ R
JiSuan = Round(CSng(R), 4)
Set Reg = Nothing
Exit Function
ErrHand:
JiSuan = Err.Description
End Function
Sub RegSZCC(ByRef S As String)
Dim Reg As New RegExp
Dim MS
Dim R As String
Reg.Pattern = "(\d+\.{0,1}\d*)(\*|\\)(\d+\.{0,1}\d*)"
Set MS = Reg.Execute(S)
If MS.Count = 1 Then
If MS(0).SubMatches(1) = "\" Then
R = Format(CSng(MS(0).SubMatches(0)) / CSng(MS(0).SubMatches(2)), "0.00000")
Else
R = Format(CSng(MS(0).SubMatches(0)) * CSng(MS(0).SubMatches(2)), "0.00000")
End If
S = Reg.Replace(S, R)
RegSZCC S
End If
End Sub
Sub RegSZJJ(ByRef S As String)
Dim Reg As New RegExp
Dim MS
Dim R As String
Reg.Pattern = "(\d+\.{0,1}\d*)(\+|\-)(\d+\.{0,1}\d*)"
Set MS = Reg.Execute(S)
If MS.Count = 1 Then
If MS(0).SubMatches(1) = "+" Then
R = Format(CSng(MS(0).SubMatches(0)) + CSng(MS(0).SubMatches(2)), "0.00000")
Else
R = Format(CSng(MS(0).SubMatches(0)) - CSng(MS(0).SubMatches(2)), "0.00000")
End If
S = Reg.Replace(S, R)
RegSZJJ S
End If
End Sub
EXCEL中调用方法
B1=jisuan(A1)
excel如何匹配正则表达式并标色
1.新建一个空白工作簿,在工作表界面按下组合快捷键Alt+F11或者右键单击任意一个工作表标签,在弹出的右键快捷菜单单击“查看代码”进入VBA环境,如下图所示:
2.在“代码窗口“中复制粘贴以下代码:
Sub RegTest()
’定义正则表达式对象
Dim oRegExp As Object
’定义匹配字符串集合对象
Dim oMatches As Object
’创建正则表达式
’定义要执行正则查找的文本变量
Dim sText As String
sText = "这是v一个正则表达式b的范例程序a代码"
Set oRegExp = CreateObject("vbscript.regexp")
With oRegExp
’设置是否匹配所有的符合项,True表示匹配所有, False表示仅匹配第一个符合项
.Global = True
’设置是否区分大小写,True表示不区分大小写, False表示区分大小写
.IgnoreCase = True
’设置要查找的字符模式
.Pattern = "+"
’判断是否可以找到匹配的字符,若可以则返回True
MsgBox .Test(sText)
’对字符串执行正则查找,返回所有的查找值的集合,若未找到,则为空
Set oMatches = .Execute(sText)
’把字符串中用正则找到的所有匹配字符替换为其它字符
MsgBox .Replace(sText, "")
End With
Set oRegExp = Nothing
Set oMatches = Nothing
End Sub
如下图所示:
3.执行以上代码,将把 sText = "这是v一个正则表达式b的范例程序a代码" 变量中的中文字符全部删除,将只返回"vba"3个英文字符,如下图所示。其中的.Pattern = "+"表示匹配所有中文字符,Pattern属性是正则表达式对象的核心,当需要执行其它查找替换时一般都只需更改Pattern属性即可。
4.一些常见的正则Pattern如下:
表示匹配任意一个数字
表示匹配任意一个英文字母
表示匹配任意一个中文字符
Excel 正则表达式怎样声明变量
int preg_match ( string $pattern , string $subject )
string $pattern 是一个字符串,所以可以先计算出这个串存入一个变量里
$star=’a’;
$stop=’c’;
$info=’a1b2c3’;
$pattern=’/’.$star.’(.+?)’.$stop.’/’;
preg_match($pattern,$info,$result);
print_r($result);

更多文章:
通配符怎么打出来excel(excel里,完成高级筛选条件的时候,通配符前面要加等号,可以等号前面的单引号是怎么打出来的)
2026年9月22日 21:20
进制转换器c++(用C++输入一个十进制数,将其转换为二进制数输出)
2026年9月22日 20:30
docker cp拷贝文件(怎么把docker镜像文件 复制到主机)
2026年9月22日 20:00
restful请求方式(下面哪几种属于ElasticSearch的RESTful请求方式())
2026年9月22日 17:30
怎么在centos官网下载linux(请问centos在官网怎么下载,有好多个iso镜像,这些都要下载吗)
2026年9月22日 15:40
ssl协议未开启修复(笔记本电脑开机后用360杀毒检查正常,用一段时间再查会有ssl协议未开启,处理后再查就没有了这个)
2026年9月22日 15:20
diversity的定义(生物学上的多样性diversity与多态性polymorphisms有什么区别)
2026年9月22日 13:40



