Регулярное выражение для языка UTF-8 - PullRequest
0 голосов
/ 13 января 2011

мое приложение также поддерживает пенджаби (\ u0A00- \ u0A7F) я попробовал следующий код

Pattern classPattern = Pattern.compile("\u0A00-\u0A7F ");
    Matcher classMatcher = classPattern.matcher("ਭਾਸ਼ਾ ਸੰਦ");
            if (classMatcher.find()) {
              System.out.println("yes");
            }else{
                System.out.println("no");
            }

я получаю "нет" в качестве вывода, хотя я предоставил символы панджаби в matcher ()

есть идеи почему ??

Ответы [ 3 ]

6 голосов
/ 13 января 2011

Должен ли этот шаблон быть "[\u0A00-\u0A7F ]"?Мне кажется, что вы пытаетесь сопоставить четыре символа в определенном порядке, но укажите в качестве входных данных шесть символов.

3 голосов
/ 13 января 2011
[\u0A00-\u0A7F ]*

Без звездочки вы будете соответствовать только одному символу. Вы можете заменить * на +, тогда пустые строки не будут приняты.

Взгляните на Шаблонный класс JavaDocs . Очень полезно получить хорошее и быстрое понимание регулярных выражений.

1 голос
/ 13 января 2011

потому что "асдса" не панджаби [шаблон, который вы дали, будет искать символы пуджаби, а днс азбука - нет]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...