6

2 桁または 5 桁の数字のみに一致する正規表現を作成するにはどうすればよいですか?

私はこれまでのところこれを持っていますが、2〜5桁の任意の数字に一致します。

           ^\d{2,5}$
4

2 に答える 2

15

オプションの 3 桁を使用します。

^\d{2}\d{3}?$

一部の正規表現エンジンは?、任意の繰り返し修飾子 (固定された修飾子であっても) を貪欲でない修飾子として解釈することに注意してください。これは、2 桁の場合に問題を引き起こすようです。これが発生した場合は、次を使用してください。

^\d{2}(?:\d{3})?$

この素晴らしいチュートリアルで、いくつかの正規表現の基礎を読むことができます。

ところで、上記は代替を使用したものと事実上同等です (ただし、わずかにより効率的です)。

^(?:\d{2}|\d{5})$

(別の正規表現の概念を示すためだけに。)

于 2012-10-26T15:41:08.943 に答える
0
/^\A\d{2}\z$|^\A\d{5}\z$/

A入力の開始を意味し、入力zの終了を意味します。

これは PHP と Java で機能します。jsまたはperlについてはわかりません。

于 2016-10-24T13:54:55.753 に答える