Первый пост, так что поехали. Я пишу сценарий, который выполняет интеллектуальный поиск и замену в дереве файлов. По сути, сценарий помещает содержимое каждого файла в строку буфера и выполняет сопоставление с заранее определенным шаблоном, в данном случае шаблоном является /^[^\r\n]*(vendor)[^\r\n]*$/im. Шаблон должен найти любые нечувствительные к регистру формы слова «vendor» и выдать мне всю строку, которая была сопоставлена. Мне нужно увидеть всю строку, чтобы определить, заменять ли вхождение. Этот шаблон хорошо работает для любого количества вхождений отдельных строк в данном файле.
Однако, если в данной строке есть несколько вхождений, шаблон будет соответствовать только одному из этих вхождений и пропустить остальные. Я пытаюсь определить, нужен ли мне второй шаблон для дополнительного поиска в совпавшей строке, или я могу достичь этой цели с помощью одного шаблона, который выполняет все вышеперечисленное.
Просто образец того, что я надеюсь произвести. Пример совпадения с одной строкой и множеством вхождений:
Enthusiastically revolutionize web-enabled VENDOR potentialities vendors installed base e-tailers.
Я хотел бы вывести что-то подобное (опять же, проблема здесь не в выводе, а в том, могу ли я сопоставить все это с одним шаблоном):
Multiple occurrences in line: || Enthusiastically revolutionize web-enabled VENDOR potentialities vendors installed base e-tailers. ||
Replace? (y,n,q) || ...abled VENDOR poten... ||
Replace? (y,n,q) || ...ties vendors insta... ||
Пожалуйста, дайте мне знать, если я не совсем понимаю свою цель. Спасибо за любую помощь и ответ на это!
Скрипт написан на PHP, поэтому регулярные выражения - PCRE.





Если вы используете
/^[^\r\n]*(vendor)[^\r\n]*$/im
Я бы предложил добавить оператор g (глобальный)
/^[^\r\n]*(vendor)[^\r\n]*$/img
На каком языке вы пишете?