我想匹配非字母字符,但不包括"
,即\W
没有"
。我怎么能做到这一点?
我查了regular expression - excluding specific chars。但是如何在不展望的情况下实现这一目标呢?
我想要像[\W^"]
这样的东西,有可能吗?
答案 0 :(得分:1)
请注意[\W^"]
匹配所有非字母字符(包括"
和^
),^
或"
。这意味着,您班级中的^"
字符为 redudant ,可以删除。
要从速记字符类中排除某些字符(在您的情况下为\W
),您可以在否定字符类[^\w]
中使用反向字符类,并添加"
那里:
[^\w"]
这意味着:除了字词char或"
之外的任何字符。请参阅the regex demo。
根据正则表达式的风格,您可能希望使用Character class subtraction。在Java中,它看起来像[\W&&[^"]]
,而在.NET中,它看起来像[\W-["]]
。