📅  最后修改于: 2023-12-03 15:01:39.892000             🧑  作者: Mango
在 JavaScript 的正则表达式中,\W 元字符用于匹配非字母、数字和下划线的字符。 \W 等价于 [^A-Za-z0-9_]。
下面是一个例子:
const str = 'hello @world! 123';
const regExp = /\W/g;
const result = str.replace(regExp, ' ');
console.log(result); // "hello world 123"
在上面的例子中,\W 匹配除了字母、数字和下划线之外的所有字符。使用 replace() 方法将匹配到的字符替换成空格。
除了使用 \W 元字符,我们还可以使用 [^A-Za-z0-9_] 来匹配非字母、数字和下划线的字符。两者的效果是一样的。
需要注意的是,\W 元字符匹配的字符集与 \w 相反。 \w 匹配字母、数字和下划线,等价于 [A-Za-z0-9_]。
下面是一个使用 \w 和 \W 匹配的例子:
const str = 'hello @world! 123';
const regExpW = /\w/g;
const resultW = str.replace(regExpW, ' ');
console.log(resultW); // " @ ! 123"
const regExpNonW = /\W/g;
const resultNonW = str.replace(regExpNonW, ' ');
console.log(resultNonW); // "hello world 123"
上面的例子中,\w 匹配字母、数字和下划线,\W 匹配非字母、数字和下划线。
总结: