0

実行可能ファイルに対する有効なユーザー入力をチェックしています。delただし、 / rmdir/などは含まれますls。入力は XML を介して収集され、XSDを使用して検証されます。私のプログラムは、同じファイルにアクセスできる場合とできない場合があるサーバーに送信するため、ファイルの存在を確認しません。

唯一の要件は、改行がないこと、\rまたは\n完全に空白であってはならないことです。タブも許可されないと仮定することは有効だと思います\tが、私は改行にもっと関心があります。

ありがとう

4

2 に答える 2

1

これは、ここに記載されている制限があることを意味しますか: http://www.regular-expressions.info/xml.html

もしそうなら、おそらく次のようなものが欲しいでしょう: [^\r\n\t]*[^\r\n\t\s][^\r\n\t]*

中間部分は、改行、タブ、または空白ではない 1 文字が必要であることを意味します。残りの部分は、改行またはタブではない、その文字の周りのゼロ個以上の文字を意味します (ただし、空白は可能です)。\r\n\tそれらはすべてに含まれている可能性があるため、中間グループからを削除できると思いますが\s、これについてはテストしていません。

\tタブが必要な場合は、 の 3 つのオカレンスを削除します。

于 2012-02-29T16:36:10.143 に答える
1

あなたが何をしたいのか完全にはわかりませんが、「空白だけでなく改行もありません」の正規表現は次のようになります

[ \t]*\S[^\r\n]*

これは、0 個以上の空白文字の後に、空白文字以外の文字と、\r または \n 以外の任意の数の文字 (スペースとタブを含む) が続くものと一致します。空白のみで構成される文字列には一致しません (\S に一致する非空白文字は存在しないため)。

タブも禁止するには、これを読み取りに変更できます

[ ]*\S[^\r\n\t]*
于 2012-02-29T16:34:59.240 に答える