1

0〜15の数値入力の正規表現をまとめるのに苦労しています。

私はこの表現を試しました:

^([9]{1,1}|[0-1][0-5])$   

<asp:FilteredTextBoxExtender ID="TMPFiltered" runat="server" FilterMode="ValidChars"
                                                FilterType="Custom" ValidChars^([9]{1,1}|[0-1][0-5])$" TargetControlID="txtTMP" />

ただし、最大値を15より大きくすることができます。構文が正しくないのはどこですか。どんな助けでもありがたいです、ありがとう。

4

3 に答える 3

5

これを試して:

^([0]?[1-9]|1[0-5])$

または、「07」のように一致させたくない場合は、これを試してください

^([1-9]|1[0-5])$
于 2012-10-29T18:24:27.127 に答える
3

正規表現はこれに対する適切な解決策ではありません。文字列をintに変換してみてください。それが成功した場合は、結果が目的の範囲内にあることを確認してください。

そうは言っても、これが機能するはずの正規表現です。

^(1[0-5]?|[2-9])$

現在の正規表現の主な問題は、アンカーが交互の左側にのみ適用されるため[0-1][0-5]、正規表現内の任意の場所に一致する文字列を一致させることです。また、現在の正規表現には、2から8までの数字を一致させる方法がありません。

例:http ://www.rubular.com/r/HUNZZymzFW

于 2012-10-29T18:16:22.443 に答える
2

あなたはほとんどそこにいました

^([1-9]|1[0-5])$必要なものです

[9]{1,1}正規表現で行った唯一の変更は、すでに1回一致しているため、[1-9]必要ありません。{1,1}[9]

于 2012-10-29T18:23:50.683 に答える