Asp.net 如何使用正则表达式拒绝元字符

Asp.net 如何使用正则表达式拒绝元字符,asp.net,vb.net,server-side,Asp.net,Vb.net,Server Side,我一直试图拒绝这些元字符^$\/()|?+*[]{}>”2个方法,用于检查文本是否包含任何Regex元字符: 方法1:使用正则表达式 元字符需要放在字符类[…]中。因此,只需转义部分字符,即:^、\和] If Regex.IsMatch(TextBox1.Text, "[\^$\\/()|?+[\]{}><]") Then ' Invalid input Else ' Valid End If If TextBox1.

我一直试图拒绝这些元字符^$\/()|?+*[]{}><从表单中的所有文本框

这就是我所拥有的,它并不排斥角色。它拒绝输入textbox3的任何内容

Imports System.Text.RegularExpressions

Partial Class Default2
Inherits System.Web.UI.Page

Protected Sub company(source As Object, e As ServerValidateEventArgs) 
    If Not Regex.IsMatch(TextBox3.Text, Regex.Escape("^$\/()|?+[]{}><")) Then
        e.IsValid = False
    Else
        e.IsValid = True
    End If
End Sub
End Class
导入System.Text.RegularExpressions
部分类Default2
继承System.Web.UI.Page
受保护的子公司(源作为对象,e作为服务器ValidateEventArgs)

如果不是Regex.IsMatch(TextBox3.Text,Regex.Escape(“^$\/()|?+[]{}>”2个方法,用于检查文本是否包含任何Regex元字符:

方法1:使用正则表达式

元字符需要放在字符类
[…]
中。因此,只需转义部分字符,即:
^
\
]

    If Regex.IsMatch(TextBox1.Text, "[\^$\\/()|?+[\]{}><]") Then
        ' Invalid input
    Else
        ' Valid
    End If
    If TextBox1.Text.IndexOfAny("^$\/()|?+[]{}><".ToCharArray) > -1 Then
        ' Invalid input
    Else
        ' Valid
    End If