簡體   English   中英

Java regex:非英文字符的大小寫不敏感匹配

[英]Java regex : Case insensitive matching for non English characters

我正在嘗試對Java語言中的Java PatternMatcher類執行不區分大小寫的匹配。 下面是文本:

"some text газированных напитков some other text"

以下是我用來匹配文本的模式:

Pattern pattern = Pattern.compile("(?iu)\\b(" + Pattern.quote("напитки") + ")\\b", Pattern.UNICODE_CHARACTER_CLASS);

我期待下面的返回true ,因為它是一個區分大小寫的比較( напитки VS напитков ):

System.out.println(pattern.matcher("some text газированных напитков some other text").find());

但是它總是返回false 我嘗試使用其他Pattern常量(例如CASE_INSENSITIVEUNICODE_CASECANON_EQ ),但是它仍然返回false

Java中有什么方法可以執行這種比較嗎? 甚至有可能嗎?

只需在您的模式中添加此選項:

Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE

在我所有的情況下,這種做法都是有效的。 我真的廣泛使用它。

暫無
暫無

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

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