簡體   English   中英

正則表達式替換不同種類的單引號

[英]Regex Replace different kinds of single quotes

那些喜歡在MySQL中造成破壞的討厭的單引號,似乎有表兄弟!!! 我們擁有一個系統,用戶可以在該系統上從客戶端進行作業更新,或者從電子郵件中粘貼內容,或者從幾乎任何地方復制和粘貼,每次我們提供一個單引號時,都會彈出另一個報價。 這是不同的: ' ´ ' ` <-

由於我的正則表達式非常弱,我的開發人員說我應該使用以下命令刪除它們:

return Regex.Replace(oldText, @"[’´'`""]", @"");

我不喜歡它,因為它不專業,要刪除所有單引號。 正如許多論壇所建議的,我要做的只是將單引號加倍。 這是正確的嗎?

return Regex.Replace(oldText, @"[’´'`""]", @"''");

盡管這樣做是因為在他的DAL中,他用單引號構造了自己的插入語句:

sql.Append(",`to_complete_by`='" + obj.toCompleteBy + "'");

通過將^^更改為此,我是否可以避免此錯誤?

sql.Append(",`to_complete_by`=\"" + obj.toCompleteBy + "\"");

或正則表達式替換首選方法?

如果使用的是不支持預准備語句的舊版MySQL,則至少應利用以下事實:現代數據庫接口可以模擬數據庫本身不支持的此類功能。 在您的情況下,這並不是潛在的性能提升,而是通過將語句語法和值表示分離來提高安全性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM