5
A
答えて
12
使用3オプションの桁:
^\d{2}\d{3}?$
注一部の正規表現エンジンがために問題を引き起こすように思わungreedy修飾子、として任意の繰り返し修飾子(でも固定1)の後に?
を解釈すること2桁の場合。このような場合は、使用:
^\d{2}(?:\d{3})?$
あなたはthis great tutorialに、いくつかの正規表現の基礎上に読むことができます。ところで
は、上記の交代を使用して、この1を効果的に同等の(しかし、わずかに、より効率的)である:
^(?:\d{2}|\d{5})$
(。ただ、あなたに別の正規表現の概念を示すのために)
0
/^\A\d{2}\z$|^\A\d{5}\z$/
A
は入力の開始を意味し、z
は入力の終了を意味する。
これはPHPとJAVAで動作します。 jsやperlについてはわからない
関連する問題
- 1. 正規表現[桁] [桁] [桁] [桁] [桁]
- 2. 正規表現8〜10桁
- 3. 正規表現一桁
-1。最初のものはJavaで間違っています。 '?'は遅延マッチングを示します。 – nhahtdh
@nhahtdh、 '{..}'が範囲であったかどうかだけ? –
@ m.buettner:反復回数が固定されていても、通常と違うとは思わないが、 '? 'は怠惰と解釈される。 – nhahtdh