2017-12-07 15 views
-1

こんにちは、私は新たなんだ、誰も正規表現するために、私はこのマスクに一致するようにしようとしている: はこれまでのところ、私はこのはの問題を得た最小 - 最大長

^(\d{4}) (\d{4}) (\d{4}) (\d{4})$ 

をやったxxxx xxxx xxxx xxxx検証時に最小 - 最大長を制御する方法は?私はそれが4,8,12または16桁を提出することが可能にする必要があり、私はそれを把握することはできません。ご協力ありがとうございました。

+0

ネストされたオプショングループを使用するか、反復する部分をグループ化して、それに制限量量子を使用することができます。 –

+0

@Davitはあなたが探している以下の答えですか? – Allan

答えて

0

あなたは、次の解決策のために行くことができます。

^\d{4}(\h+\d{4}){0,3}$ 

説明:

  • \d{4}正確に4桁
  • \h 1水平空白文字
  • (\h+\d{4})一つ以上の水平空白文字
  • 文字
  • ^$の前の文字/ブロックの{0,3} 0〜3回繰り返し、それぞれの行の行と最後

幸運の開始と何かが明確でない場合は私に知らせています。

+0

うわーありがとう私はhttps://regex101.com/でそれをテストしたが、それは完璧に一致するが、私が働いているプロジェクトはhttps://nurulc.github.io/を使ってマスキングしていて、あなたの正規表現は失敗します。とにかくありがとう! –

+0

空白で '\ h'を置き換えます。 – Allan

+0

\ hを\ sに置き換えて、完璧に感謝します –