Показать сообщение отдельно
  #1 (permalink)  
Старый 10.02.2010, 17:07
Новичок на форуме
Отправить личное сообщение для timdenice Посмотреть профиль Найти все сообщения от timdenice
 
Регистрация: 10.02.2010
Сообщений: 4

Выделить целое слово на русском с помощью регулярного выражения!
Добрый день всем!
Два дня ломаю голову над проблемой - не могу написать правильно регулярку с выделением слова на русском или еще каком языке, кроме английского. например во фразе "Mister Mi drink a milk" выделяем только слово milk таким выражением /\b(milk)\b/ все работает на ура! Но если во фразе "Маленький Мук мал да удал" попробовать выделить слово мал таким способом /\b(мал)\b/ вхождений не находит. Смысл в том, чтобы в строке(анализ тектовых элементов DOM) заменять определенное слово, а не его словосочетания, на другое слово, и склеить строку обратно.
Я нашел один вариант, но он геморный, такая проверка дает результат: /(слово)/ в строке "словосочетание слово слова полуслово" разбиваем его сплитом в массив, дальше идет вторая проверка на наличие начальных букв у соседнего элемента справа и наличие конечных букв у соседнего элемента слева таким образом : /^\p{L}/ и /\p{L}$/ подключается библиотека юникода , если какой то из них верен, то операция с элементом не осуществляется. Вроде должно работать , но получается коряво очень, в firefox не работает в IE работает. Может у кого есть варианты получше чем этот ?
Ответить с цитированием