我在使用regexp时遇到了一些问题。我试图删除所有特殊字符,但没有“ - _”它可以工作但只有拉丁字母。有人可以帮我怎么做。
我需要删除所有没有字母编号和“ - _”。
例如
string = "asd;'\;['/\''сдфсдфявэ';щш;э'սդֆսդֆսդֆ«»խլխլ";
答案 0 :(得分:2)
您可以使用
var s = "՞։՜asd;'\;['/\''сдфсдфявэ';щш;э'սդֆսդֆսդֆ«»խլխլ";
var ret = s.replace(/[^\wа-яёА-ЯЁ\u0561-\u0587\u0531-\u0556-]+/g, '');
document.body.innerHTML = ret;

正则表达式匹配多次出现(由于g
修饰符)1次或多次(由于+
量词)字符不是:
\w
- ASCII字母,数字或_
а-яёА-ЯЁ
- 俄文字母\u0561-\u0587
- 亚美尼亚大写字母\u0531-\u0556
- 亚美尼亚小写字母-
- 连字符。