在 Java 正则表达式中设置两个标志。模式

2022-09-01 07:16:54

我需要一个这样的匹配器:

Matcher kuchen = Pattern
        .compile("gibt es Kuchen in der K\u00FCche", Pattern.CASE_INSENSITIVE)
        .matcher("");

问题是它不是简单的ASCII。我知道在这种特殊情况下,我可以用于ü,但我需要更通用一些(从其他匹配器组构建正则表达式)。因此,根据javadocs[\u00FC\u00DC]

默认情况下,不区分大小写的匹配假定只有 US-ASCII 字符集中的字符被匹配。可以通过将 UNICODE_CASE 标志与此标志一起指定来启用 Unicode 感知不区分大小写的匹配。

谁能告诉我如何同时指定这两个标志?


答案 1

尝试

Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE

它应该解决问题。或者通过位掩码,您将获得复合功能。


答案 2

虽然使用参数更纯粹,但与没有参数相同。 = 不区分大小写,= unicode。"(?iu)gibt es ..."iu