一、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 = "[u4e00-u9fa5]|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使用
工具/材料:Microsoft Office Excel2016版,Excel表格。
1、首先选中Excel表格,双击打开。
2、然后在该界面中,选中要使用正则表达式的单元格。
3、再者在该界面中,公式栏中输入正则表达式的公式“=RegexString(A1,"([d]+)",1)”。
4、其次在该界面中,单元格里显示正则表达式结果。
5、继续在该界面中,选中单元格,向下拖动。
6、最后在该界面中,成功显示正则表达式结果。