barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

пятница, 9 августа 2013 г.

Регулярные выражения в Java и неразрывный пробел (00A0)

Класс символов "\s" не включает в себя неразрывный пробел (символ с Unicode-кодом 00A0). Так что в случае, когда необходимо его обрабатывать также, как остальные пробельные символы, приходится указывать его явно, например, такой фрагмент паттерна: 
[\u00A0\s]+
соответствует последовательности из 1 и более пробельных символов ( \t\n\x0B\f\r) или неразрывных пробелов. 
Соответственно, если нужно выбрать последовательность непробельных символов, не содержащих также и неразрывных пробелов, необходимо использовать такую конструкцию:
[\S&&[^\u00A0]]+

1 комментарий:

  1. Большое спасибо за заметку - помогло в схожей ситуации)

    ОтветитьУдалить