Не уверен, что если это действительно возможно, но рассмотрим следующий текст:Динамическое регулярное выражение, чтобы захватить
INSERT INTO cms_download_history
SET
user_id = '{$userId}',
download_id = '{$fileId}',
remote_addr = '{$remote_addr}',
doa = GetDate()";
Я хочу, чтобы изменить это, чтобы быть:
INSERT INTO cms_download_history
(user_id,download_id,remote_addr,doa)
VALUES('{$userId}','{$fileId}','{$remote_addr}',GetDate());
Выполнение регулярных выражений для поиска и замены это просто, поскольку я знаю, сколько столбцов у меня есть, но что, если я пытаюсь сделать это для нескольких похожих запросов, не зная количества столбцов, то есть:
INSERT INTO mystery_table
SET
col1 = val1
col2 = val2
.... unknown number of columns and values.
Есть ли динамическое регулярное выражение, которое я могу написать, чтобы обнаружить этот пример?
Если я правильно понял ваш вопрос, вы могли бы просто разбить строку на (запятую и) разрыв строки в качестве первого шага. – Xufox
@Xufox Я не следую ... –
Вы можете разделить текст на отдельные строки и подсчитать, проанализировать и изменить их отдельно, а не применять RegEx ко всему тексту. По крайней мере, это было бы легче. – Xufox