Регулярное выражение, совпадающее с несколькими вхождениями для файла и строки - PullRequest
0 голосов
/ 24 октября 2008

Первый пост, так что здесь идет. Я пишу скрипт, который выполняет интеллектуальный поиск и замену файлового дерева. По сути, сценарий получает содержимое каждого файла в строку буфера и выполняет сопоставление с предопределенным шаблоном, в этом случае шаблон /^[^\r\n]*(vendor)[^\r\n]*$/im. Шаблон должен найти любые нечувствительные к регистру формы «vendor» и дать мне всю найденную строку. Мне нужно увидеть всю строку, чтобы определить, стоит ли заменить вхождение. Этот шаблон хорошо работает для любого числа отдельных строк в данном файле.

Однако, если в данной строке несколько вхождений, шаблон будет соответствовать только одному из этих вхождений и пропустить другие. Я пытаюсь определить, нужен ли мне второй шаблон для дополнительного поиска по сопоставленной строке, или я могу выполнить эту задачу с помощью одного шаблона, который выполняет все вышеперечисленное.

Просто пример того, что я надеюсь произвести. Пример одной строки, совпадение нескольких совпадений:

Восторженно революционизировать веб-возможности VENDOR Поставщики установили базовые интернет-магазины.

Я хотел бы вывести что-то похожее на это (опять же, здесь не проблема с выходным сигналом, я могу сопоставить все это с одним шаблоном):

Несколько вхождений в строке: || Восторженно революционизировать веб-возможности VENDOR Вендоры установили базу интернет-магазинов. ||

Заменить? (у, п, д) || ... способный ВЕНДОР потенциальный ... ||

Заменить? (у, п, д) || ... поставщики галстуков инста ... ||

Пожалуйста, дайте мне знать, если я не уверен в своей цели. Спасибо за любую помощь и ответ на это!

1 Ответ

1 голос
/ 24 октября 2008

Если вы используете

/^[^\r\n]*(vendor)[^\r\n]*$/im

Я бы предложил добавить оператор g (global)

/^[^\r\n]*(vendor)[^\r\n]*$/img
...