我想否定正则表达式中的类的一部分。假设我们有一个表达式,它接受从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/