Страница: 1 |
Страница: 1 |
Вопрос: Регулярные выражения - поиск вне кавычек
Добавлено: 08.09.07 02:39
Автор вопроса: Neco | Web-сайт:
необходимо из sql-текста извлечь все параметры, но внутри кавычек их нужно игнорировать.
к примеру:
select *
from db.device
where id = ':id'
and town_id = :town_id
and city=:city
and my_string= ' kjhlkjhklh = :my_string lkj :my lk jlb'
and country=:country
пока есть идея только в первом проходе избавиться от всего, что в кавычках с помощью выражения:
('[^']*')
а уже во втором проходе по-простому найти параметры:
(:\w+)
но как это не очень красиво...
можно ли обойтись одним выражением?
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #1
Добавлено: 08.09.07 21:04
Что ты хочешь получить из этой строки?
Номер ответа: 2
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #2
Добавлено: 09.09.07 00:40
Номер ответа: 3
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #3
Добавлено: 09.09.07 14:11
Переформулирую вопрос: Что ты считаешь параметрами в этой строке?
Номер ответа: 4
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #4
Добавлено: 10.09.07 08:00
(:\w+)
т.е. :town_id, :city, :country