![](/img/trans.png)
[英]Java regex to distinguish special characters while allowing non english chars
[英]Java regex : Case insensitive matching for non English characters
我正在尝试对Java语言中的Java Pattern
和Matcher
类执行不区分大小写的匹配。 下面是文本:
"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_INSENSITIVE
, UNICODE_CASE
, CANON_EQ
),但是它仍然返回false
。
Java中有什么方法可以执行这种比较吗? 甚至有可能吗?
只需在您的模式中添加此选项:
Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE
在我所有的情况下,这种做法都是有效的。 我真的广泛使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.