0

次の正規表現があります。

^([1-9]){3,5}[1-8]$

特定の範囲内の文字列を制限するように機能しますが、空の文字列も許可するように変更する必要があります。これどうやってするの?

4

2 に答える 2

1
^(([1-9]){3,5}[1-8])?$

(?:キャプチャされたグループを気にする場合に使用します。そうでない場合は、周囲の括弧を削除できます[1-9]。ただし、シーケンス全体を囲む括弧は保持する必要があるため、?量指定子は引き続き正しく適用されます (前のグループが 0 回または 1 回)。したがって、わずかに短い(おそらくより正しい)バージョンは次のようになります。

^(?:\d{3,5}[1-8])?$

これにより、入力文字列全体である 1 つの一致が返されます。

于 2013-02-08T12:00:09.957 に答える
0

これは機能するはずです:

^(|([1-9]){3,5}[1-8])$
于 2013-02-08T12:03:17.213 に答える