0

正規表現を使用して検証する必要のあるテキストフィールドがあります。私の要件は次のとおりです。

CCCCNNNNNNまたはCCCCNNNNNNN(テンプレート)

1234ABCDEFGまたは123-ABCDEFG(文字列の例)

ルール:

  • 文字列全体は最大25文字です
  • 最初の4文字(CCCC)は英数字でなければなりません
  • CCCCは正確に4文字で、数字または数字にすることができます
  • CCCCは4番目の文字としてダッシュ記号を持つことができます
  • NNNNNNNNNNNNは最大21文字で、数字のみです。

たとえばAAAA 1234 A58-、CCCCの有効な文字列です。

これが私の研究ノートです:

  • 最初に数値を一致させる必要があります
  • +このパターンにX回一致するように指定するcharが必要になります
  • その後、8〜9スペースの文字を一致させる必要があります

ここに正規表現パターンに関するすばらしい投稿があります:

数値と正規表現の照合—数字とコンマのみ

私の目標は、このREGEXパターンをWinFormsアプリのテキストボックスマスクに適用することです。

4

1 に答える 1

3

....

....

...ええ-あなたが探している答えは次のとおりです

^[0-9A-Za-z]{3}[0-9A-Za-z-]\d{0,21}$

それは:

^               # assert beginning (not in the middle)
[0-9A-Za-z]{3}  # three characters that are: 0-9 or a-z (upper or lower)
[0-9A-Za-z-]    # one character that is: 0-9 or a-z (upper or lower) or a dash
\d{0,21}        # anywhere from 0 to 21 digits
$               # assert at the end (not somewhere in the middle

この式のいくつかのケースに一致させたい場合は、上記の式 (アサーションを除く) を括弧 ( ()) に入れ、これらの値を区切るために許可されているもの (私が選択した\s「空白」) と共に、+量指定子を使用します。

^([0-9A-Za-z]{3}[0-9A-Za-z-]\d{0,21}\s+)+$

次の入力を照合/検証します。

1234567890 AAAA123456789012345678901 GGG-123       hhh5   A1B2000000000

他の何かが必要な場合は、より明確な質問をする必要があります(質問には多くの矛盾と繰り返しがあり、非常に混乱しています)

于 2011-11-18T20:27:21.157 に答える