如果字符串包含西里尔文,如何在Java中检测?

kne*_*los 8 java regex

我想检测一个字符串是否包含西里尔字母.

在PHP中我做了这样的事情:

preg_match('/\p{Cyrillic}+/ui', $text)
Run Code Online (Sandbox Code Playgroud)

什么在Java中可以起作用?

man*_*uti 19

请尝试以下方法:

Pattern.matches(".*\\p{InCyrillic}.*", text)
Run Code Online (Sandbox Code Playgroud)

您也可以避免使用正则表达式并使用该类Character.UnicodeBlock:

for(int i = 0; i < text.length(); i++) {
    if(Character.UnicodeBlock.of(text.charAt(i)).equals(Character.UnicodeBlock.CYRILLIC)) {
        // contains Cyrillic
    }
}
Run Code Online (Sandbox Code Playgroud)