Написать регулярное выражение RegEx с условиями
- найти фразу "select", после нее найти первое встречное "from", но если не достигнув до первого встречного "from" найдено еще одно слово "select", то пропустить первое встречное "from" и найти второе встречное "from".Если не достигнув второго встречного "from" найдено еще одно слово "select" то пропустить второе встречное "from" и найти третье встречное "from" и так далее...
Внимание !Алгоритм поиска предлагается и необоснованный к реализации, главное, чтобы регулярный термин правильно записывал capture group.Мой старый RegEx выглядит следующим образом: /^select.*from(.*)/gmi - но в нем нет условий и он не работает с сложными sql-заявлениями.Примеры, как должно быть:
Пример #1select col1 from table1 match group должен содержать " table1"
Пример #2select col1, (select col2 from table2) from table1 match group должен содержать " table1"
Пример #3select col1, (select col2 from table2), (select col3 from table3) from table1 match group должен содержать "table1"
Пример #4select col1, (select col2 from table2) from table1 where (select col3 from table3) > 0 match group должен содержать " table1 where (select col3 from table3) > 0"
Пример #5select t_1.*, t_2.col_a, t_2.col_b, (select col_n from table_n) from table1 t_1 inner join table2 t_2 on t_1.col_x=t_2.col_x where t_1.col_a > t_2.col_2 and (select col3 from table3) > 0 order by (select xy from table4) desc, t_1.col_b asc, t_2.col_b desc match group должен содержать " table1 t_1 inner join table2 t_2 on t_1.col_x=t_2.col_x where t_1.col_a > t_2.col_2 and (select col3 from table3) > 0 order by (select xy from table4) desc, t_1.col_b, t_2.col_b desc_b"
Примеры в интерактивном режиме: https://regex101.com/r/VG7dnE/1
Предлагаем цену .
Результаты работы
Отзыв заказчика о сотрудничестве с Василем Заболотним
Написать регулярное выражение RegEx с условиямиПроект выполнен, но, к сожалению, оценки не самые тяжелые. Задача была сложная, но перед выполнением Василий убедил в своем профессионализме и что сделает согласно ТЗ за 1 день. За 9 дней не удалось выполнить согласно ТЗ, поэтому договорились реализовать иным способом. И за несколько часов уже был результат. Я думаю, что можно было дойти до этого намного раньше. Спасибо Василю за сотрудничество и желаю больше внимания и усилий на анализ новых объектов.
Отзыв фрилансера о сотрудничестве с Олександром З.
Написать регулярное выражение RegEx с условиямиВсе хорошо, рад сотрудничеству!
Актуальные фриланс-проекты в категории PHP
Laravel/Blade-разработчик (middle) — доработка сайта
4486 UAH
Ищу разработчика на проект из 4 связанных задач, для сайта best-matchmaking.com выполняются последовательно:Интеграция готового premium Blade-шаблона блог-статьи + автогенерация Schema/SEO-разметки (Article, FAQPage, Open Graph, canonical) для всех текущих… PHP ∙ 36 минут назад ∙ 19 ставок |
Доработка сайта https://koleso-center.com/ на OpenCart
10 000 UAH
Добавить на сайт категории интернет- магазинаБУ дискиДокаткиКрепеж.Данные берем из БД 1с .еще несколько вопросов Тип исполнителя: одиночный Backend-разработчик (OpenCart/PHP) уровня MiddleДоработка должна соответствовать всем требованиямSEO+AI продвижение AI Overviews, ChatGPT,… PHP ∙ 17 часов 56 минут назад ∙ 40 ставок |
Модуль для OpenCart: массовое создание товаров из папок с изображениямиРазработка модуля массового создания товаров для OpenCart (ocStore 3.x) Необходимо разработать административный модуль для OpenCart / ocStore 3.x, который автоматически создает товары из заранее подготовленной структуры папок с изображениями.Основной функционал: массовое… CMS, PHP ∙ 2 дня назад ∙ 46 ставок |
Оптимизация сайтаОптимазация сайта jdgreta.co.uk на Shopify. Сео аудит приложен к проекту. Основные задачи - - Поправить все мета данные - Выполнить ТЗ для программиста (тк в этом проекте совмещены задачи для программиста и СЕО, если вы не компания - можете использовать помощь) - Поправить… HTML и CSS верстка, PHP ∙ 5 дней 22 часа назад ∙ 33 ставки |
Специалист по HoroshopНужен специалист, который сможет правильно настроить товарный Feed. Проблема: Сейчас более 13 000 товаров выгружаются с одинаковым значением типа (например, «все для маникюра и педикюра»). Из-за этого в Google Ads невозможно разделить товары на сегменты и задать разные… PHP, Сопровождение сайтов ∙ 7 дней 1 час назад ∙ 22 ставки |