2009-04-10 95 views
0

有時候我想將用戶輸入轉換爲正則表達式中的字面值。即如果用戶輸入C:\Win\Bin\File.txt,則正則表達式應該類似C:\\Win\\Bin\File.txt,因爲某些字符組合必須轉義。有沒有人知道這是否有經過驗證的真實代碼,或者是否有其他技術會自動執行此操作?將用戶輸入轉換爲文字正則表達式的代碼? (C#)

+0

「C:\ Win \ Bin \ File.txt」和「C:\ Win \ Bin \ File.txt」在你的例子中有什麼區別? – 2009-04-10 07:06:49

+0

將符號字符轉換爲文字字符稱爲「轉義」。你需要的是「逃避」用戶輸入,以便它不能包含任何象反斜槓這樣的符號字符。根據您的技術環境,確實有內置的方法來實現這一點。 – bzlm 2009-04-10 07:18:45

回答

3

你試過Regex.Escape()嗎?

E.g.

var userInputRegex = new Regex(Regex.Escape(userInput));
相關問題