下面的正则表达式是否正确,以检查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
答案 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