正则表达式允许输入确认

时间:2017-06-04 18:08:23

标签: vb.net

下面的正则表达式是否正确,以检查a-z A-Z spaces是否是唯一允许输入的内容?

   Dim pattern As String = "^([a-zA-Z0-9 ]+\s)*[a-zA-Z0-9 ]+$"
    Dim r As New Regex(pattern)

    If Not r.IsMatch(TextBoxX1.Text) Then
        MsgBox("not allowed")
    End If

1 个答案:

答案 0 :(得分:0)

据我所知,它可以满足您的需求,但这是真正不必要的表达方式。不是检查每个字符是A-Z,0-9还是空格,而是查找 不是 的任何内容。

Dim pattern As String = "[^A-Z0-9 ]"
Dim r As New Regex(pattern, RegexOptions.IgnoreCase)

If r.IsMatch(TextBoxX1.Text) Then
    MessageBox.Show("Invalid input!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If

注意:通过指定RegexOptions.IgnoreCase匹配不区分大小写,即使我指定A-Z,它也会匹配{{1}也是。

在线测试: https://dotnetfiddle.net/Q23XiA

模式说明:

a-z