parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Spearance 10.12.2004 07:46 / 10.12.2004 10:17

Что такое $last_s и почему он записан именно так -- не понятно.
$last_s[^eval(^slovo.length[]-1)]
По моему так более логично:
$last_s(^slovo.length[]-1)
Зачем переменная $str непонтно тоже:
$find[^file.text.match[\b($slovo)\b][g,i]{^b.inc(1)}]
так проще.

Теперь к сути вопроса. Ваше регулярное выражение меняет любое совпадение \b($slovo)\b на пустоту, следовательно если в тексте нет совпадений то текст напишется целиком.

Для морфологического разбора регулярные выражения не подходят. Они очень ресурсоёмки и очень медленны по сравнению с другими технологиями. Если интересует подробнее: http://www.ya.ru тема поиска: морфологический разбор