Regex包括除空格以外的所有特殊字符



我有一个regex,它检查除了空格之外的所有特殊字符,但看起来很奇怪,而且太长了。

const specialCharsRegex = new RegExp(/@|#|$|!|%|&|^|*|-|+|_|=|{|}|[|]|(|)|~|`|.|?|<|>|,|/|:|;|"|'|\/).
This looks too long and if i use regex (W) it also includes the space.
Is there is any way i can achieve this?

您可以使用:

[^w ]

这匹配除空格以外的非单词字符。您可以将任何其他您可能想要的东西添加到上面的字符类中,从而将其列入黑名单。

匹配任何不是单词字符或空白字符的字符(cr,lf,ff,space,tab(

const specialCharsRegex = new RegExp(/[^ws]+|_+/, 'g');

在regex101中查看此演示或在tio.run中查看JS替换演示(所有出现的情况都使用g标志(

下划线属于单词字符[A-Za-z0-9_],需要单独匹配。

使用a-a-0-9/a-z/a-z 尝试此操作

Pattern regex = Pattern.compile("[^A-Za-z0-9]");

最新更新