0

サーバー側のリッチテキストボックスにユーザーがテキストを入力したことを検証しようとしています。HTMLでエンコードされたスペースだけに入れることも許可したくありません。アプリケーションに組み込まれている正規表現検証を使用しているため、複数のパターンを使用することはできません。

次のパターンでC#正規表現を1つだけ使用することはできますか?

許可(1つ以上の非空白文字)。空の文字列を許可しない:

^.*\S+.*$

-テキストを入力する必要があります。すべての空白は許可されていません:

!^\s+$ 

-ほとんどの場合、空白はとして表示され ます。HTMLスペース文字のみの文字列を許可しないでください。

!^( )+$

これでうまくいくと思いましたが、うまくいきません。

 ^.*\S+$(!(^(\s+)+$))!(^( )+$)

したがって、これら2つは有効な文字列になります。

'lorem ipsum' 
'lorem ipsum'
4

2 に答える 2

0

このように聞こえます(新しい要件に一致するように編集されています):

^\s*(?! )\S
于 2013-01-16T22:16:22.957 に答える
0

何をキャプチャしようとしているのかはっきりしていません...しかし、これは機能しますか?

^((\S(?<!&nbsp;))+((\s|&nbsp;)+)?)+$

一致:
"lorem"
"lorem ipsum"
"lorem&nbsp;ipsum"

一致しません:
""
" "

コメント用に編集

于 2013-01-16T22:11:59.833 に答える