如何使RegularExpressionValidator与不区分大小写的整个字符串不匹配?

时间:2011-04-21 12:19:27

标签: asp.net regex

这是我的两个reg表达式。第一个似乎与我的不区分大小写的字符串完全匹配,但第二个字符串有一个空格并且不起作用。

^([wW][eE][eE][kK][5][0][0])$


^([wW][eE][eE][kK][/s][5][0][0])$

所以我有两个问题:
1)我改变了什么,以便我的asp RegularExpressionValidator中的第一个reg表达式匹配我的“Week500”不区分大小写的整个字符串?如果整个字符串(尽管不区分大小写)匹配,我只希望它触发。目前这个表达方式与我需要的相反。

2)我在第二个asp RegularExpressionValidator中对第二个reg表达式也需要同样的更改。但是,它在字符串“Week 500”中的特定位置有一个空格。

以下是我的asp页面上两个RegularExpressionValidators的完整标签: <asp:RegularExpressionValidator ID="revPrevEventNameDup" runat="server" ControlToValidate="txtGenerateEventsPreviewEventName" EnableClientScript="true" ErrorMessage="Dup Name" Display="Dynamic" ValidationExpression="^([wW][eE][eE][kK][5][0][0])$" ValidationGroup="GenerateEventsPreviewValidation" />

<asp:RegularExpressionValidator ID="revPrevEventNameDup" runat="server" ControlToValidate="txtGenerateEventsPreviewEventName" EnableClientScript="true" ErrorMessage="Dup Label" Display="Dynamic" ValidationExpression="^([wW][eE][eE][kK][5][0][0])$" ValidationGroup="GenerateEventsPreviewValidation" />

提前感谢您的帮助。

++++++++++++++++++++++++++++++++++++++++++

我很新,所以我不能回答我自己的问题,所以它建议我把答案放在这里......

谢谢大家帮忙!!

你们都很棒!!

这里:
ASP.NET RegularExpressionValidator, validate on a non-match?

我发现我必须添加:
    ^(?!

到前面和:
    $)。* $

到最后得到不匹配的验证。

所以这是我的两个顶级RegularExpressionValidators,我的asp页面工作得很棒!!

ValidationExpression="^(?!([wW][eE][eE][kK]500)$).*$"

ValidationExpression="^(?!([wW][eE][eE][kK] 500)$).*$"

谢谢!!!

2 个答案:

答案 0 :(得分:2)

空格匹配正则表达式为\s,而不是/s

^([wW][eE][eE][kK][\s][5][0][0])$

如果您只需要一个空格,只需输入它即可。

^([wW][eE][eE][kK] [5][0][0])$

而且,如果你想匹配一个角色,也只需输入它们,除非它们是特殊的:

^([wW][eE][eE][kK] 500)$

在所有情况下,如果\对于字符串持有者来说是特殊的,则可能需要使用\\来转义转义字符。

答案 1 :(得分:0)

你能试试这个正则表达式吗? ^([wW][eE][eE][kK][\s][5][0][0])$ 我改变/到\