0

我想创建一个不匹配任何字符的字符类。现在,我一直在表示这样的模式:

Pattern p = Pattern.compile("[a&&b]");

甚至

Pattern p = Patterncompile("[^\\x{0}-\\x{10FFFF}]");

有没有合适的方法来做到这一点?

注意:无需提供不涉及字符类的替代解决方案(负前瞻等)。我只是想知道是否有“正确”的方法来做到这一点。

更新:我正在实现一项功能,该功能首先向用户打印他输入的简化版本。由于我正在简化字符类,因此我当前的版本只会打印[]输入,例如[a&&b]. 如果我们[]再次解析,它会抛出一个错误,这不是我想要的。因此,这就是为什么我想知道是否有一种正确的方法来做到这一点,它不会通过向他展示类似的东西来改变用户输入^$

4

2 回答 2

2

尽管这没有多大意义,但您可以在字符类中使用字符类减法功能来实际定义一个 char 并减去它——那么这个类将无法匹配任何东西。

例子:

[a&&[^a]]

由于字符类应该只匹配a,并且a减去 ,所以这个模式不会匹配任何东西。

于 2016-09-30T10:19:16.960 回答
-2

你在那里所做的不是字符类,它们是正则表达式。如果要匹配空输入(“不匹配任何字符”),请使用^$.

于 2016-09-30T10:16:53.190 回答