Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.Net:RegularExpressionValidator ValidationExpression以防止`;`和–;`一次_C#_Asp.net_Regex_Validation - Fatal编程技术网

C# ASP.Net:RegularExpressionValidator ValidationExpression以防止`;`和–;`一次

C# ASP.Net:RegularExpressionValidator ValidationExpression以防止`;`和–;`一次,c#,asp.net,regex,validation,C#,Asp.net,Regex,Validation,我想制作一个ASP.NetRegularExpressionValidatorValidationExpression,它将阻止输入和–- 我可以为–执行,它是验证表达式=“[^-]*” 上述表达式可以阻止单个–字符。我将为单个–字符授予权限。我将阻止双字符(--)。 我需要防止和– 有人能帮我吗?正则表达式需要变得更智能。您要阻止多个连字符、m-破折号和分号 因此,请尝试@“^(?=[^–;]*)((?!--)*$” 细分: ^匹配行的开头,并帮助确保使用验证器匹配整个字符串 第一组括号中

我想制作一个ASP.Net
RegularExpressionValidator
ValidationExpression
,它将阻止输入
–-

我可以为
执行,它是
验证表达式=“[^-]*”


上述表达式可以阻止单个
字符。我将为单个
字符授予权限。我将阻止双字符(
--
)。 我需要防止


有人能帮我吗?

正则表达式需要变得更智能。您要阻止多个连字符、m-破折号和分号

因此,请尝试
@“^(?=[^–;]*)((?!--)*$”

细分:

^
匹配行的开头,并帮助确保使用验证器匹配整个字符串

第一组括号中的表达式将匹配任何不包含m-破折号和分号的字符集。您可能希望使用转义序列将十六进制值替换为m-破折号。使用
?=
将其定义为非消耗,这意味着正则表达式引擎必须匹配此模式,但在找到匹配项时不会提前其索引,因此也将为下一个模式测试相同的字符集

第二组括号中的表达式是反向前瞻;它将匹配不包含两个(或更多)相邻连字符的任何字符集。然而,这可能有点慢;这个正则表达式基本上迫使ReEX引擎一次考虑每个字符,从该点向前看,以确保下一个字符不会与逆模式匹配。

尾随的
$
标记一行的结束;它与
^
一起确保您在确定匹配时查看单个字符串(或多行数据中的行)中的所有内容

将它插入一个类似Regex的测试程序中,并使用它来确保它将停止所有您想要的场景

<asp:RegularExpressionValidator ID="RegularExpressionValidator1"
      runat="server" 
      ControlToValidate="TextBox1" Display="Dynamic" ErrorMessage="**" 
      ValidationExpression="[^-]*"></asp:RegularExpressionValidator>