0

根据我的要求,我需要使用正则表达式检查三个条件。

'查找点位置

 dotPos = InStr(editFormat, ".")

'求整数位数

 wholeNum = Left$(editFormat, dotPos - 1)

'求十进制位数

decNum = Mid(editFormat, dotPos + 1, strLen - dotPos - 1)

regularExp = "^[-]{0,1}[0-9]{0," & wholeNum & "}\" & DecSep & "[0-9]{0," & decNum & "}$"

在这里,我需要验证

1) 整数值(点前)

2)十进制值(点后)

3) 输入的全长。

wholeNum = 30

decNum  = 20

例如:值为 123456789012345678901234567890.12345678901234567890

根据我的代码,这两个条件都很好。

但我需要再添加一个条件是总长度应该是 40。

例如:您的示例的可能输入:((30.10)或(20.20)或(25.15))

1) 123456789012345678901234567890.1234567890 (共40个)

2) 12345678901234567890.12345678901234567890

3) 1234567890123456789012345.678901234567890

如何在我的代码中添加该条件。

谢谢。

4

1 回答 1

0

我会使用前瞻断言:

regularExp = "^" & "(?=.{40}$)" & "[-]{0,1}[0-9]{0," & wholeNum & "}\" & DecSep & "[0-9]{0," & decNum & "}$"

假设您正在计算包​​括点。

于 2013-10-29T10:43:15.517 回答