[英]Regular expression multiline validator
在我的ASP.NET Web窗体中,我有一个多行TextBox
,应使用RegularExpression Validator对其进行验证。 文本框应包含一个或多个字符串“ a”(只是“ a”字符,别无其他)。
到目前为止,我为我的RegularExpressionValidator
对象获得了这些正则表达式:
(?m:(^a$)+)
(?m:\A(^a$)+\Z)
(?m:^a$)
和其他一些。 都不行。 猜猜我还没有基本的东西。
你能告诉我我哪里错了吗?
这是涉及的代码。
一个按钮(仅用于回发):
<asp:Button ID="Button1" runat="server" Text="Button" />
文字框:
<asp:TextBox ID="TextBox1" runat="server" Rows="10" TextMode="MultiLine"></asp:TextBox>
和正则表达式验证器:
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="RegularExpressionValidator"
ValidationExpression="(?m:(^a$)+)"></asp:RegularExpressionValidator>
该Web窗体上没有其他内容。 我只添加了这些控件和修改的属性。 我什至都使用VS GUI完成了所有这些工作。
使用CustomValidator并执行Regex.Match(TextBox1, @"(?m:(^a$)+)")
即可。 我猜RegularExpressionValidator出了点问题。
如果要匹配多行,请不要忘记也匹配行终止符。 它们并不暗示在$
。
(?m:(^a$\r?\n?)+)
可能会更好。
这个匹配
a
要么
a
a
a
等等
而且,由于您要学习教程, regular-expressions.info怎么样?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.