【发布时间】:2010-06-22 12:39:07
【问题描述】:
我找到了一个 Regex 来测试传递给 TextBox 的文本是否是电子邮件。
If Regex.IsMatch(email.Text, "^(?("")("".+?""@)|(([0-9a-zA-Z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-zA-Z])@))" + "(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,6}))$") _
Then
// True
End If
我想改变这个,所以它会测试输入的文本是否只是Numbers?
我该怎么做?
【问题讨论】:
-
只测试整数的正则表达式是“^[0-9]+$”。也许我误解了您的问题,但是仅测试数字与测试电子邮件地址有什么关系?
-
不,你不是。我找到了这个解决方案,但我还没有理解它。
-
^ = 第 1 行的开始。 [0-9] = 一系列字符,在本例中为数字,从零到九。 + = 至少匹配 1 个,但可能不止一个。 $ = 行尾。因此,正则表达式 ^[0-9]+$ 将匹配包含至少一个数字的任何整行文本,但不允许任何非数字字符。