Я пытаюсь использовать regexp_filter для замены определенных суффиксов слов, поскольку я нахожу stem_en и lemmatizer для неожиданных результатов.using regexp_filters в индексе sphinx
Я попытался
regexp_filter = (.*)(graphical|graphic|graph) => \1graphy
Но по какой-то причине поиск 'Биография' не соответствует 'биографического'
Я проверил в regex101, что мое регулярное выражение работает:
https://regex101.com/r/zM9jY5/1
по крайней мере, если найти рисунок и группы
и я проверил в сфинкса, что простой/прямая замена
regexp_filter = Biographical => Biography
работ.
Так ясно, что шаблон регулярного выражения соответствует и, очевидно, работает замена regexp_filter. Как-то используя
(.*)(graphical|graphic|graph) => \1graphy
не признает ни группы, ни образец?
На самом деле я использовал обратные ссылки успешно уже в другом regex_p. Я попробую сделать графический графический график, который не работает с wordforms, но вы правы. Я думаю, что regex_p должен справиться с этим. Мне просто нужно изменить его, чтобы он не изменял график слов или графику. – user3649739
Вы имеете в виду, что НЕ хотите соответствовать целым словам 'graphic' и' graph'? Используйте «графический | \ bgraphic \ b | \ bgraph \ b'. –
Чтобы быть ясным, backreference находится внутри самого регулярного выражения (т. Е. Обратно ссылается на совпадение в пределах одного выражения) - связанная страница связана с синтаксисом регулярного выражения, а не с синтаксисом замены. ** A \ 1 на стороне замены, отлично отлично **. Захват регулярных выражений, используемых для замены, поддерживается re2 и sphinx. (но я согласен на захват. * Не имеет смысла) – barryhunter