Как заменить текст без замены строки в кавычках на регулярное выражение - PullRequest
1 голос
/ 09 апреля 2019

хочу заменить

$this->input->post("product_name");

с

$post_data["product_name"];

Я хочу использовать регулярные выражения notepad ++, но не могу найти правильное решение

В поиске -> $this->input->post("[\*w\]"); В замен -> $post_data["$1"];

но не работает

Ответы [ 3 ]

1 голос
/ 09 апреля 2019

Шаблон $this->input->post("[\*w\]"); не работает, потому что:

  • $ - это специальный символ, соответствующий концу строки, вам нужно использовать \$, чтобы сопоставить его как буквенный символ
  • [\*w'\] - это неверно сформированный шаблон, поскольку не существует соответствующего неэкранированного ] для [, который открывает класс символов. Кроме того, w просто соответствует w, а не любой букве, цифре или символу подчеркивания, \w делает это.

Вы можете использовать

Найти что : \$this->input->post\("(\w*)"\);
Заменить на : $post_data["$1"];

Если в двойных кавычках может быть любой символ, используйте .*? вместо \w*:

Найти что : \$this->input->post\("(.*?)"\);

Регулексный график :

enter image description here

тест АЭС:

enter image description here

0 голосов
/ 09 апреля 2019
  • Заменить

$this->input->post("product_name");

на

$post_data["product_name"];

заменить, с активированным регулярным выражением

this->input->post\("(.*)"\);

по

post_data\["\1"\];

  • \x с номером xa соответствует x-му совпадениюпоймал с круглыми скобками.Здесь мы ловим любой символ внутри this->input->post(XXXX);

  • Не забудьте экранировать специальный символ с помощью \.Ваши специальные символы были []()

0 голосов
/ 09 апреля 2019

Используйте этот шаблон для соответствия желаемому тексту \$this->input->post\(("[^"]+")\);

И заменить его на шаблон \$post_data\[\1\]

Пояснение:

\$this->input->post - matach $this->input->post буквально

\(("[^"]+")\); - буквально сопоставьте (, затем сопоставьте двойные кавычки и все, что между ними, с "[^"]+" и сохраните в первой группе захвата, затем сопоставьте ); буквально

enter image description here

...