Java不区分大小写的正则表达式

时间:2013-10-28 10:54:18

标签: java regex case

我刚刚得到了这个:

System.out.println("КОНТАКТЫ".matches("(?i).*контакт.*"));

并且总是说“假”。

我试过

System.out.println("КОНТАКТЫ".matches("(?i:.*контакт.*)"));

System.out.println("КОНТАКТЫ".matches("(?i:).*контакт.*"));

System.out.println("КОНТАКТЫ".matches("(?i)^.*контакт.*$"));

和其他许多变化,但我总是“假”。

如何在java中正确执行case insensetive search,这样我在这个regexp搜索中有“true”?

我做错了什么?

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:3)

你需要的是打开unicode case标志:

System.out.println("КОНТАКТЫ".matches("(?iu).*контакт.*"));

更多here