我使用這種模式[^a-z0-9+\ ,#\-.]
過濾標籤,然後將它們保存到我的數據庫。正則表達式去除多餘的字符
它可以用於不希望的副作用;它刪除了重音符號:instalação
變爲instalao
任何想法如何在保持模式的同時保持重音完好無損?
我使用ColdFusion,所以我假設它基於Java正則表達式,但我可能是錯的。
我的意圖是允許字母(帶重音符號),0到9阿拉伯數字,點和散列。
我使用這種模式[^a-z0-9+\ ,#\-.]
過濾標籤,然後將它們保存到我的數據庫。正則表達式去除多餘的字符
它可以用於不希望的副作用;它刪除了重音符號:instalação
變爲instalao
任何想法如何在保持模式的同時保持重音完好無損?
我使用ColdFusion,所以我假設它基於Java正則表達式,但我可能是錯的。
我的意圖是允許字母(帶重音符號),0到9阿拉伯數字,點和散列。
根據the documentation\w
匹配任何(Unicode)字母,數字和下劃線。如果你不想下劃線時,你可以這樣做:
[^[:alpha:]0-9#.-]
其中[:alpha:]
任何(Unicode)的字母相匹配。如果你想匹配0-9
範圍之外的數字,嘗試:
[^[:alnum:]##.-]
注意,額外的哈希逃脫ColdFusion的自己的標籤,否則會導致惡意形成的標籤/變量錯誤。
你試過了角色課嗎? \ w匹配字母,數字和下劃線,並且可能只是匹配重音字符,儘管我不確定。
@Bart,看更新! – Mohamad
你確定ColdFusion有基於Java的正則表達式實現嗎? –
@巴特爾,不是積極的,但我想象得如此。它與Java緊密集成,你可以直接調用java方法。 CF/Railo引擎分別運行在JRun/Tomcat上... – Mohamad