7

アルファベット、数字、_ および - に一致する正規表現があります (最小長と最大長があります)。

^[a-zA-Z0-9_-]{3,100}$

その文字セットに空白を含めたい。

Pythonのドキュメントによると:

\w や \S などの文字クラスもセット内で使用できます。

だから私は試しました:

^[a-zA-Z0-9_-\s]{3,100}$

ただし、文字範囲エラーが発生します。上記のセットに空白を含めるにはどうすればよいですか?

4

3 に答える 3

23

問題は ではなく\s-文字範囲を示す です。ただし、クラスの最後または最初にある場合を除きます。これを使って:

^[a-zA-Z0-9_\s-]{3,100}$
于 2012-10-30T15:34:27.110 に答える
3

^[-a-zA-Z0-9_\s]{3,100}

_-\s範囲と解釈されました。それ自体を表すダッシュは、[...] 内の最初または最後の文字でなければなりません。

于 2012-10-30T15:36:00.733 に答える
-1

バックスラッシュはエスケープ文字であるため、2 番目のバックスラッシュを追加してスラッシュをエスケープします。

^[a-zA-Z0-9_\\-\\s]{3,100}$
于 2016-05-27T02:29:25.487 に答える