你能在没有 VBScript 的情况下在 Excel 中做正则表达式吗?

Eri*_*son 23 regex worksheet-function microsoft-excel

我正在寻找一个 Excel 函数,我可以将它放在一个单元格中以对另一个单元格的内容进行正则表达式搜索。有什么可以做到这一点吗?我不想为此将 VB 脚本添加到电子表格中,因为我可以更快地对解决方案进行硬编码。只是最快的解决方案是函数。不过我一个也找不到。所以也许什么都没有。

有人知道吗?

Lun*_*tik 12

您可以简单地在 VBE 中添加对“Microsoft VBScript 正则表达式 5.5”的引用,以将 VBScript.dll 正则表达式函数公开给 Excel。编写一个简单的正则表达式函数是微不足道的,例如

Public Function emailCheck(rawEmail As String) As Boolean
    Dim reg As New RegExp
    reg.Pattern = "^[\w-\.]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,4}$"
    emailCheck = False
    If reg.Test(rawEmail) Then
        emailCheck = True
    End If
End Function
Run Code Online (Sandbox Code Playgroud)


小智 8

这个站点上的 .xla 包对我来说效果很好。


Lan*_*rts 3

MoreFunc.xll是一个具有正则表达式功能的免费插件。

还有一些其他第三方插件也可以执行正则表达式。

没有真正的本机工作表函数可以执行此操作,但如果您有特定的搜索要做,您可能可以使用其他函数来完成工作。