2016-06-21 10 views
-1

..'文字列の開始と終了のスペース'と文字列の特殊文字を許可しない正規表現ですか?私は、次の正規表現を使用していますが、それは動作していない

するvar patt1 = "/^\ sの* $ /";

+0

理由だけではなく 'トリム()'文字列を許可しましたか? –

+0

私は一度に "空白"と "特殊文字"の両方をチェックする必要があります。私は何をすべきですか? – Tink

+0

あなたは@Tinkを達成しようとしていることについてもっと詳しく説明してください。 – elmigranto

答えて

1

  • スペースで始まるか終わる文字列にマッチ:/^\s.*\s$/
  • が開始またはスペースで終わっていない文字列にマッチ:/^[^\s].*[^\s]$/
  • 空間の間の文字列を抽出します。/^\s(.*)\s$/

したがって正規表現では、(例外を除いて)受け入れるものを定義できますが、明示的に拒否することはできません。

だからあなたは、そのスタートを文字列に一致すると、例えば、許可されていない文字で終わるのいずれか:

  • /^\s.*\s$/(スペースのみ)
  • /^[^0-9a-zA-Z].*[^0-9a-zA-Z]$/(すべての英数字以外の文字)

文字列を受け入れることはできません開始または終了許可されていない文字で、たとえば:

スペースしかし
  • /^[0-9a-zA-Z]+$/英数字のみCHA
  • /^[^\s]+$/すべてが
0

(^ \が+ S)スタート

(\ S + $)でのすべてのスペースを最後にすべてのスペースを見つけるでしょう。

特殊文字は正確にあなたが取り除くしたいのかに依存するが、これは、すべての非英数文字を選択します[^ 0-9A-ZA-Z]あなたはできる正規表現で

+1

'[0-9a-zA-Z]' - 惑星には複数の言語があることに注意してください。 – elmigranto

+0

はい、OPは他の言語を指定せず、POSIXは英数字を記述しています。 – master565

+0

はい、確かにあなたの答えを打ち負かすのではなく、私の意見で言及する価値があります:) – elmigranto

関連する問題