正则表达式类没有特定的char?

时间:2016-11-18 07:29:10

标签: regex

我想匹配非字母字符,但不包括",即\W没有"。我怎么能做到这一点?

我查了regular expression - excluding specific chars。但是如何在不展望的情况下实现这一目标呢?

我想要像[\W^"]这样的东西,有可能吗?

1 个答案:

答案 0 :(得分:1)

请注意[\W^"]匹配所有非字母字符(包括"^),^"。这意味着,您班级中的^"字符为 redudant ,可以删除。

要从速记字符类中排除某些字符(在您的情况下为\W),您可以在否定字符类[^\w]中使用反向字符类,并添加"那里:

[^\w"]

这意味着:除了字词char或" 之外的任何字符。请参阅the regex demo

根据正则表达式的风格,您可能希望使用Character class subtraction。在Java中,它看起来像[\W&&[^"]],而在.NET中,它看起来像[\W-["]]