我想否定正则表达式中的类的一部分。假设我们有一个表达式,它接受从a到z的重复的大小写字母。

[a-zA-Z]+


如何取消例如H字母?

我已经尝试过此[a-zA-Z^H]+it doesn't block H

我知道我们可以通过其他方式来做到这一点,但是我在寻找一个在类内部求反的一般规则。

我使用正则表达式的JavaScript风格。

更新

这是更具体的示例。这是表达式:[\w\-\–]。在.NET风格中,它接受Unicode字符,但在JavaScript风格中,它不接受。但是,有一个技巧可以使表达式也接受Unicode字符,必须用此表达式\w替换([^\x00-\x7F]|\w)

问题是-它不能嵌套在第一个表达式([\w\-\–])中。这就是为什么我要问如何否定班级的一部分。

最佳答案

将我的评论翻译成答案。这是一个可用于排除某些字符或范围的正则表达式:

/((?:[^\x00-\x7F]|[-\w–])+)/


RegEx Demo

关于javascript - 如何在正则表达式中否定类的一部分?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35745081/

10-12 12:23
查看更多