📜  JavaScript |正则表达式 \W 元字符(1)

📅  最后修改于: 2023-12-03 15:01:39.892000             🧑  作者: Mango

JavaScript | 正则表达式 \W 元字符

在 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 匹配非字母、数字和下划线。

总结:

  • \W 元字符用于匹配非字母、数字和下划线的字符,等价于 [^A-Za-z0-9_]。
  • \W 匹配的字符集与 \w 相反,\w 匹配字母、数字和下划线。
  • 可以使用 replace() 方法将匹配到的字符替换成其他字符。