2016-10-24 6 views
2
私はアルファ文字、スペース、ダッシュ、アポストロフィと長さ50を可能な正規表現を記述しようとしている

これまでのところ、私はこれを持っている:許可アルファベット文字、スペース、ダッシュ、アポストロフィおよび長さ<= 50

/^([A-Za-z\s].{1,50})$/ 

ダッシュとアポストロフィのコードをどこに置くべきかわかりません。誰かが喜んで助けてくれたら、私に知らせてください。ありがとう。

+0

実際の問題をタイトルで説明してください。ところで、あなたは「長さ50」または「長さ**〜** 50」を意味しましたか? –

+0

@torazaburo何を説明しますか?すべてがすでに説明されており、答えは以下のとおりです。 –

+0

アドバイスを希望しない場合は、大丈夫です。ユーザーがタイトルに基づいてあなたの質問をクリックするだけであると考えてください。タイトルが実際に質問を説明するようにするのはあなたの興味のためにあります。 –

答えて

3

あなたは、あなたの代わりにスペースを\sを使用する場合は、あなたが任意の空白を許可します

/^[A-Za-z '-]{1,50}$/ 

または

/^[A-Za-z\s'-]{1,50}$/ 

を必要としています。

アポストロフィは、文字クラス内のどこにでも配置することができます(範囲を壊さないように)。文字クラスの先頭/末尾のハイフンはエスケープする必要はありません。

{1,50}limiting quantifierを使用すると、文字クラスで指定されたタイプの1〜50文字を許可することを意味します。正確に50文字を許可する場合は、/^[A-Za-z\s'-]{50}$/を使用してください。代わりに+だけを使用する場合は、1文字以上を許可します。

+0

この場合、+が必要ですか?どのような場合にプラスが必要か、どこには必要ないのかを理解しようとしています。 –

+3

*代わりに '+'だけを使用すると、1つ以上の文字を許可します* –

+0

文字クラスで\ sを使用する方が良いでしょうか? –

関連する問題