我正在檢查可執行文件的有效用戶輸入;但它確實包括諸如del
/rm
,dir
/ls
。輸入通過XML收集,並使用XSD進行驗證。我不會檢查文件是否存在,因爲我的程序提交給服務器,可能訪問相同的文件,也可能不訪問相同的文件。正則表達式不 r n並且不完全空間
那麼唯一的要求是它沒有新的線\r
或\n
它不能完全是空白的。我認爲假設選項\t
也是不允許的,但我更關心換行符。
感謝
我正在檢查可執行文件的有效用戶輸入;但它確實包括諸如del
/rm
,dir
/ls
。輸入通過XML收集,並使用XSD進行驗證。我不會檢查文件是否存在,因爲我的程序提交給服務器,可能訪問相同的文件,也可能不訪問相同的文件。正則表達式不 r n並且不完全空間
那麼唯一的要求是它沒有新的線\r
或\n
它不能完全是空白的。我認爲假設選項\t
也是不允許的,但我更關心換行符。
感謝
這是否意味着你已經在這裏提到的侷限性: http://www.regular-expressions.info/xml.html
如果是這樣,那麼你可能想是這樣的: [^\r\n\t]*[^\r\n\t\s][^\r\n\t]*
中間部分表示必須有一個字符不是換行符,製表符或空格。其餘部分意味着該字符周圍的零個或多個字符不是換行符或製表符(但可以是空格)。我想你可能會從中間組中刪除\r\n\t
,因爲它們全都可能包含在\s
中,但我沒有測試過這些。
如果需要製表符,請刪除三次出現的\t
。
我不完全知道你想要做什麼,但「不換行,而不僅僅是空白」一正則表達式將
[ \t]*\S[^\r\n]*
此匹配零個或多個空白字符後跟由非空白字符和不是\ r或\ n(包括空格和製表符)的任意數量的字符組成。它不能匹配只包含空格的字符串(因爲不會有與\ S匹配的非空白字符)。
要還禁止標籤,你可以改變這種閱讀
[ ]*\S[^\r\n\t]*
是的,我也有同樣的限制。 – SimplyKnownAsG 2012-03-01 01:53:27