1

私は検証の質問を検証しようとしていますが、これは私が持っている正規表現です。私はこれが意味するものではありませんが、この表現はスペースを許可しません

^\S+$

たとえば、'Test Me' と入力すると、この式は無効であると表示されます。これを修正してスペースを許可するにはどうすればよいですか?

4

4 に答える 4

2

正確に何を一致させようとしていますか?

  • ^文字列の先頭に一致
  • $文字列の末尾に一致
  • +最後の式の複数回の出現を許可します
  • \S空白以外のものを表します
  • \s空白を表します

あなたが持っている式は、空白以外の文字のみを含む任意の文字列と一致します。一致させようとしているものを正確に表現できれば、私はそれを手伝うことができます.

于 2013-07-01T20:38:04.863 に答える
2
                               ^\S+$
                               ^^ ^^
                               || ||
^  文字列の開始-------------+| ||
\S空白以外----+ ||
+  前にあるものの 1 つ以上 ---+|
$  文字列の終わり -------------------+

(より大きな参照については、 regular-expressions.infoにアクセスしてください)

この正規表現は、スペースを許可しないという唯一の目的で書かれているように見えるため、実際に何を変更したいのかわかりません。

于 2013-07-01T20:40:30.963 に答える
1

一致しない理由は、文字列に空白文字を許可して\S いないため、より適切に機能する可能性があるためです。

^[\w\s]+$

\w [A-Za-z0-9_] と同等

\s空白に一致

この正規表現では句読点を使用できないことに注意してください。^.+$

于 2013-07-01T20:38:25.973 に答える
1

^「文字列の開始」を意味します

\S「非空白文字」を表す正規表現の特別なキーワードです。

+前の 1 回以上を検索することを意味します

$「文字列の終わり」を意味します

したがって、英語では、この正規表現は次のように述べています。これが、空白を許可しない理由です。

于 2013-07-01T20:39:27.100 に答える