我使用以下正则表达式来转义特殊字符:
var searchForTest = text.replace(/[^a-zA-Z 0-9.]/gi,'.');
当文本为英文时,此方法可以正常工作,但当我尝试突出显示希腊字符时,此方法会失败,因为它们被识别为特殊字符。
工作示例示例:English Characters
非工作示例的示例 Greek Characters
谢谢
最佳答案
当您处理希腊符号时,您应该使用 unicode 序列。
由于希腊符号 are in range \u0374 - \u03FF只需将此范围添加到您的正则表达式中
var searchForTest = text.replace(/[^a-zA-Z 0-9.\u0374-\u03FF]/gi,'.');
关于javascript - 转义不同语言中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9977258/