2008-10-24 3 views
0

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

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

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

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

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

Множественные вхождения в line: || Энтузиастически революционизируйте Возможности VENDOR с поддержкой веб-интерфейса Поставщики устанавливают базовые e-tailers. ||

Замените? (y, n, q) || ... abled VENDOR poten ... ||

Замените? (y, n, q) || ... связующие венцы insta ... ||

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

+0

Какой язык вы пишете в? – 2008-10-24 17:05:32

ответ

1

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

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

Я хотел бы предложить добавление г (глобальный) оператор

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