十进制数字后跟一个单一的'E'正则expression式在VBA Excel中

我必须得到Excel中的所有条目,其中有一个十进制数字或数字,后跟一个“E”。 例如:9E,5.6E,6.78E …

之后,我将删除那封信以作另一个计算。

我有这个代码:

Dim strEarlyOut As String strEarlyOut = "(\d+\.?\d*)([E])" Dim regEx As New RegExp Set regEx = CreateObject("vbscript.regexp") With regEx .IgnoreCase = False .MultiLine = False .Pattern = strEarlyOut End With If regEx.Test(DayWeek1(x)) Then MsgBox "Day " & x & ": Early out!" 'Remove 'E' for computation NewDayWeek1(x) = Replace(DayWeek1(x), "E", " ") End If 

问题是,在运行代码时,例如:8.90EEE,7EL,6.5LEEE,只要它有'E'和任何数量的'E'等于TRUE,我不想发生…

我的模式有什么问题? 我已经testing过这样的模式:“(\ d +。?\ d *)([E] {1})”

先谢谢了。

expression:

^\d+\.?\d*?E$

这将匹配最后只有一个“E”的string。