繁体   English   中英

正则表达式多行验证器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM