Сегодня я обсуждал проблему с коллегами. Нам нужно проверить, «содержит ли входная строка китайские символы». Сначала я подумал об использовании регулярных выражений. Регулярное выражение использует [u4e00-u9fa5] для полного соответствия символов. являются китайскими, но проблема, с которой мы столкнулись сейчас, заключается в том, что эта строка может также содержать английские символы, цифры и специальные символы. Я не мог придумать регулярное выражение, которое могло бы соответствовать этому сценарию. Позже я поискал в Интернете и обнаружил, что Класс Matcher можно использовать для решения этой проблемы. Грубая реализация кода выглядит следующим образом:
импорт java.util.regex.Matcher;импорт java.util.regex.Pattern;публичная демонстрация класса {static String regEx = "[/u4e00-/u9fa5]";static Pattern pat = Pattern.compile(regEx);public static void main(String[] args) {String input = "Адский мир!";System.out.println(isContainsChinese(input));input = "hello world";System.out.println(isContainsChinese(input));}public static boolean isContainsChinese(String str){Matcher matcher = pat.matcher(str);boolean flg = false;if (matcher.find()) {flg = true;} return flg;}