Русские символы regex в java

351
17 июня 2017, 12:04

Почему получаются разные результаты следующих методов?

System.out.println("Путь\\Файл1.html".replaceAll("\\w+\\.\\w+",""));
System.out.println("Path\\File1.html".replaceAll("\\w+\\.\\w+",""));

Вывод:

Путь\Файл
Path\
Answer 1

Потому что \w в регулярных выражения Java по умолчанию не находит все буквы и цифры Юникода.

Чтобы \w находил любые буквы и цифры, используйте флаг Pattern.UNICODE_CHARACTER_CLASS, или, внутри шаблона, (?U).

Онлайн-тест тут:

и

READ ALSO
Пример использования SpeechRecognizer

Пример использования SpeechRecognizer

Здравствуйте, может ли кто дать простой пример использования SpeechRecognizer? Мне нужно чтобы пользователь говорил на английском, и это выводилось...

318
background-size в некоторых браузерах

background-size в некоторых браузерах

ЗдравствуйтеМне нужно поставить фоновую картинку для элемента меню, так, чтобы эта картинка была прижата к низу элемента, и растянута на всю...

328
Как вывести html с input?

Как вывести html с input?

Как сделать чтобы html код, который введен в поле, выводился правильно, то есть текст стал жирным?

416
Перенос текста c фоном

Перенос текста c фоном

Есть вот такой элемент, который нужно сверстать:

295