簡體   English   中英

在Java regex.Pattern中設置兩個標志

[英]Set two flags in Java regex.Pattern

我需要這樣的匹配器:

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

問題是它不是簡單的ASCII。 我知道在這種特殊情況下我可以使用[\\ u00FC \\ u00DC]作為ü,但我需要更一般(從其他匹配器組構建正則表達式)。 所以根據javadocs

默認情況下,不區分大小寫的匹配假定只匹配US-ASCII字符集中的字符。 通過將UNICODE_CASE標志與此標志一起指定,可以啟用Unicode感知的不區分大小寫的匹配。

任何人都可以告訴我如何同時指定兩個標志?

嘗試

Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE

它應該解決這個問題。 或者使用位掩碼,您將獲得復合功能。

雖然使用參數更純,但與沒有參數的"(?iu)gibt es ..." i =不區分大小寫, u = unicode。

使用按位OR,如Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE

它是一個位掩碼,因此您使用按位OR運算符|

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM