Regex 如何在同一字符集中求反和选择

Regex 如何在同一字符集中求反和选择,regex,Regex,这一定很简单,但我似乎找不到答案 假设我们想要的是使用字符集选择除3之外的所有数字 regx=[0-9]和[^3]同时使用,就像[0-9^3]但是regx引擎将不允许它执行类似的操作 [0-24-9] [0-9-[3]] 这将包括除3以外的所有数字 我认为您尝试的嵌套字符类只在一些正则表达式风格中得到支持。在.net中,您应该能够执行以下操作 [0-24-9] [0-9-[3]] 好吧,您可以使用负前瞻: /(?!3)[0-9]/ 。。。但通常更容易从charclass本身中排除不需要

这一定很简单,但我似乎找不到答案

假设我们想要的是使用字符集选择除3之外的所有数字

regx=
[0-9]
[^3]
同时使用,就像
[0-9^3]
但是regx引擎将不允许它执行类似的操作

[0-24-9]
[0-9-[3]]
这将包括除3以外的所有数字

我认为您尝试的嵌套字符类只在一些正则表达式风格中得到支持。在.net中,您应该能够执行以下操作

[0-24-9]
[0-9-[3]]

好吧,您可以使用负前瞻:

/(?!3)[0-9]/
。。。但通常更容易从charclass本身中排除不需要的字符:

/[0-24-9]/
第二种方法在您希望匹配任意数量的此类字符时更为有效:比较此

/^[0-24-9]*$/
。。。为此:

/^(?!.*3)[0-9]*$/