1

シリアル番号が次の形式と一致するかどうかを確認するために、正規表現を記述する必要があります。

XX-XXXXX-XXXXXX

例:50-99627-036043

条件の簡単な説明:

  • 正確に 15 文字の長さでなければなりません
  • 数字のみを含める必要があります - 文字は使用できません
  • 位置 2 および 8 のダッシュ区切り (0 から数えて)

txt2re.com で以下を生成しましたが、機能せず、デバッグ方法もわかりません。

(\\d)(\\d)(-)(\\d)(\\d)(\\d)(\\d)(\\d)(-)(\\d)(\\d)(\\d)(\\d)(\\d)(\\d)

どんな助けでも大歓迎です。

4

4 に答える 4

4

あなたが使用することができます:

\d{2}-\d{5}-\d{6}
于 2012-09-14T08:49:34.057 に答える
3

正規表現には複数の方言があるため、どの方言を使用しているかがわからない場合は、それらすべてが通常持っている構文のみを使用するのがおそらく最善です。

それは次のようになります。

^[0-9]{2}-[0-9]{5}-[0-9]{6}$

すべての正規表現エンジンがサポートしているわけではなく、必要な形式を正確\dに取得できるように、開始マーカーと終了マーカーがあることを確認しました(文字列全体に一致しない限り、15 文字のどちらかの側にあるものを誤って許可することに気付くかもしれません)。

何らかの奇妙な理由で、正規表現エンジンが{m,n}-type カウントをサポートしていない場合は、各桁を完全に指定する必要があります。

^[0-9][0-9]-[0-9][ .... $
于 2012-09-14T08:55:59.693 に答える
1

これを試して。わたしにはできる。

^(\d){2}\-(\d){5}\-(\d){6}$
于 2012-09-14T08:54:47.303 に答える
0

これを使用できます

[0-9]{2}-[0-9]{5}-[0-9]{6}

また

\d{2}-\d{5}-\d{6}
于 2012-09-14T08:52:01.790 に答える