我已经定义了长度为4的十六进制值的正则表达式,如下所示:
([0-9A-F]{4})
它工作正常,语法
0000
也是一个有效的十六进制数,但我想从有效匹配中丢弃它,因此期待提示如何扩展当前正则表达式以便
0000 is flagged as invalid and filtered out.
由于
答案 0 :(得分:11)
您可以使用negative lookahead:
(?!0000)[0-9A-F]{4}
此处(?!0000)
是一个负向前瞻组。它或多或少地说:“并且不允许下一个元素是0000
”但没有消费它们。
您可以在regex101上进行测试。