Поиск слова по его корню

arthyrgrex

Client
Регистрация
12.05.2013
Сообщения
104
Благодарностей
31
Баллы
28
Всем привет.

Допустим есть предложение:
Неработающий человек хочет найти работу

Нужно из этого предложения удалить все слова с корнем раб.

Т.е. чтобы осталось:
человек хочет найти

Какой регуляркой воспользоваться ?

Моя регулярка (^|\A|\s|\-)раб.*?(\s|$|\Z|\-) не может найти такого слова как "неработающий"

Заранее спасибо.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Ты хочешь удалять по вхождению, или по корню? Для вхождения регулярка \w*раб\w*
А корни регулярки определять не умеют. ЧТо за модификаторы \A \Z ?
 
  • Спасибо
Реакции: arthyrgrex

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 226
Баллы
113
Гуглите что такое лемматизатор. Регулярками тут не обойтись.
 
  • Спасибо
Реакции: arthyrgrex

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113
Стеммер уже прикручивал, есть там в примере шаб готовый.
Но "неработающий" это отдельное слово, его не получить от слова "работающий". Разве что принудительно приклеить "НЕ" в начале корня "работающий", и сравнивать их потом уже.
 
  • Спасибо
Реакции: arthyrgrex

arthyrgrex

Client
Регистрация
12.05.2013
Сообщения
104
Благодарностей
31
Баллы
28
Всем спасибо за советы.

вариант с \w*раб\w* - подошел
 
Последнее редактирование:

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)