Regex 为什么[\D\S]与正则表达式中的[^\D\S]不同?

Regex 为什么[\D\S]与正则表达式中的[^\D\S]不同?,regex,Regex,我在读来自的正则表达式。那里写着[\D\S]与[^\D\S]不同。有人能解释一下吗?引用你发布的链接 后者将匹配任何不是数字或数字的字符 空白。所以它将匹配x,但不是8。然而,前者将 匹配不是数字或不是空白的任何字符。 因为数字不是空白,空白也不是数字, [\D\S]将匹配任何字符、数字、空格或其他内容 \D都是非数字\S全部为非空格[]是分组,意思是或 因此,[\D\S]不是数字就是非空格 而[^\d\s]既不是数字也不是空格。为什么不阅读参考资料 因为数字不是空白,空白也不是数字, [\D\

我在读来自的正则表达式。那里写着
[\D\S]
[^\D\S]
不同。有人能解释一下吗?

引用你发布的链接

后者将匹配任何不是数字或数字的字符 空白。所以它将匹配x,但不是8。然而,前者将 匹配不是数字或不是空白的任何字符。 因为数字不是空白,空白也不是数字, [\D\S]将匹配任何字符、数字、空格或其他内容


\D
都是非数字<代码>\S全部为非空格
[]
是分组,意思是

因此,
[\D\S]
不是数字就是非空格


[^\d\s]
既不是数字也不是空格。

为什么不阅读参考资料

因为数字不是空白,空白也不是数字, [\D\S]将匹配任何字符、数字、空格或其他内容


可能是一个线索

您读了本段的其余部分了吗?它已经在那里精确地解释了它们之间的区别。
[\D\S]
将尝试匹配非数字或非空格的字符。任何字符都将至少满足其中一个条件。