Задать вопрос
Driver86
@Driver86
Немодератор toster.ru

Как с помощью регулярки получить в SQL-запросе значение с учётом экранированных кавычек?

Есть запрос вида:

SELECT aaa FROM bbb WHERE BINARY value='ccc' AND value2='ddd'


Надо вытащить value. С учётом того, что внутри могут быть экранированные кавычки, пробелы, слова AND. Т.е. вопрос в том, как вот такую регулярку:

'/SELECT aaa FROM bbb WHERE BINARY value=\'(.*?)\'/'


дополнить, что бы учитывались экранирование кавычек и, на всякий случай, экранирование экранирования? ))
  • Вопрос задан
  • 138 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@dodo512
https://regex101.com/r/k0Y7EX/2
$regex = "/SELECT aaa FROM bbb WHERE BINARY value='((?:\\\\.|[^'])*+)'/";
preg_match($regex, $text, $match);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы