[英]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.