2

私の ASP.NET Web フォームには、TextBoxRegularExpression Validator で検証する必要がある複数行があります。テキスト ボックスには、1 つ以上の文字列 "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に何か問題があります。

4

1 に答える 1

0

複数の行を一致させたい場合は、行末記号も一致させることを忘れないでください。では暗示されません$

(?m:(^a$\r?\n?)+)

うまくいくかもしれません。

これは一致します

a

また

a
a
a

そして、チュートリアルを求めているので、regular-expressions.infoはどうですか?

于 2010-02-23T20:54:23.310 に答える