Javascript 正则表达式:匹配除允许的特殊字符之外的任何非单词

Javascript regular expression: match any not-word except allowed special characters

本文关键字:特殊字符 单词 任何非 正则表达式 Javascript      更新时间:2023-09-26

我已经试图找到一种方法来做到这一点大约一个小时了,但也许我的措辞不正确。

我想匹配除 -_+#& 之外的所有特殊字符!

示例集:

!@#$%^&µ*&+=_-()}{~`¡€$*

正则表达式应选择:

@$%^µ*=()}{~`¡€$*

Andrew 的上述回答将选择一个字符,您可能希望匹配多个字符:

/([^'w!&+=_-]+)/g

编辑:

在验证的情况下(OP 可能会这样做),这并不重要,但如果你正在清理这些字符的字符串 - 那就是你想要匹配一个或多个的时候。

此外,您正在删除带有''w的字母数字字符,我不确定您是否想要。

实际上,您只需要特殊字符,所以这是正确的!

在我发布此内容一分钟后,我发现了解决方案。

/([^'w!&+=_-])/g

http://www.regexr.com/3a50t

为了将来参考,如果要排除除一组特定特殊字符之外的所有特殊字符,则可以:

/([^'w__theSpecialCharactersYouWantToAllow__])/g

如果我错了,请告诉我。

这可能太:)

var regex = new RegExp(/([^-_+#&!])/g),
    str = "!@#$%^&µ*&+=_-()}{~`¡€$*";
console.log(str.match(regex));