2

ASP.NET アプリケーションにテキスト ボックスがあり、正規表現を使用してユーザー入力文字列を検証する必要があります。正規表現の要件は -

  1. 単語間にスペースを 1 つだけ許可する必要があります。つまり、単語または文字間のスペースの総数は 1 つだけにする必要があります。
  2. 前後のスペースを無視する必要があります。

一致:

  • テスト
  • テストabc

非一致:

  • abc定義をテストする
  • abc をテスト --> 2 つの単語の間に複数のスペースを入れたかったのです。ただし、編集者は質問を投稿する際にこれらの余分なスペースを無視します。
4

4 に答える 4

3

1 つまたは 2 つの「単語」 (つまり、スペース以外の文字のシーケンス) が必要であると仮定します。

"\s*\S+(\s\S+)?\s*"

文字のみを許可する場合は に変更\S[A-Za-z]ます。

于 2013-03-20T15:41:18.680 に答える
2

非常に簡単です:

/^ *(\w+ ?)+ *$/

フィドル: http: //refiddle.com/gls

于 2013-03-20T15:02:17.660 に答える
0

どうですか:

^\s*(\w+\s)*\w+\s*$
于 2013-03-20T15:47:42.597 に答える
0

多分これはするでしょうか?

\s*\S+?\s?\S*\s*

編集: サーバーでエンコードされた正規表現です。つまり、これらのエスケープ スラッシュの 1 つを削除する必要がある場合があります。

于 2013-03-20T15:26:30.110 に答える