正则表达式如何直接在EXCEL中使用 (https://zhuanlan.zhihu.com/p/358630486)
解决步骤
下面我们使用的这个方法,定义出的函数将长期有效:
1、新建一个EXCEL文件,我这里命名为RE,随后按ALT+F11打开宏编辑器,选中任意一个sheet,右键,选择插入模块:
2、双击模块1,编辑如下VBA自定义函数代码:
1 Function RE(OriText As String, ReRule As String, ReplaceYesOrNo As Boolean)
2 '''
3 'OriText:待匹配的字符串
4 'ReRule:正则表达式
5 'ReplaceYesOrNo:是否采用替换方法,1表示替换,0表示不替换,默认为不替换
6 '''
7
8 '创建一个正则表达式实例对象
9 Set ReObject = CreateObject("vbscript.regexp")
10
11 With ReObject
12
13 '是否区分大小写,一般需求是不用区分大小写,因此这里为True
14 .IgnoreCase = True
15
16 '是否匹配所有,一般需求也都是匹配所有,这里也就默认是True,如果为False表示只匹配第一次出现的
17 .Global = True
18
19 '匹配时所用到的正则表达式
20 .Pattern = ReRule
21
22 If ReplaceYesOrNo Then
23
24 '如果使用替换方法,则将正则表达式匹配到的项替换为空
25 RE = .Replace(OriText, "")
26
27 Else
28 '否则,返回可迭代对象的第一项
29 RE = .Execute(OriText)(0)
30
31 End If
32
33 End With
34
35 End Function