Регулярное выражение для замены неправильного запроса - PullRequest
0 голосов
/ 07 февраля 2011

Привет! Я пишу небольшой инструмент на Java для чтения SQL-запросов и их обработки, но в некоторых моих запросах одинарные кавычки (') вставляются в другие предложения с одинарными кавычками, из-за этого я не могу обработать запросПожалуйста, смотрите приведенный ниже пример для получения дополнительной информации, поэтому я пытаюсь найти регулярное выражение для предварительной обработки запроса

пример:

Исходный запрос

insert into person values ('kumar's kandan', 23, 'Male')

предварительнообработанный запрос

insert into person values ('kumar''s kandan', 23, 'Male')

Ответы [ 2 ]

1 голос
/ 07 февраля 2011

PreparedStatement или что-то подобное должно использоваться для экранирования этих символов при создании SQL. Похоже, этот инструмент должен просто предполагать, что запрос уже верен, а не пытаться исправить проблемы на лету.

0 голосов
/ 07 февраля 2011

Вы можете заменить все одинарные кавычки, которые имеют символ слова спереди и сзади:

str = str.replaceAll("(?<=\\w)'(?=\\w)","''");

хотя это, конечно, не гарантирует, что все будет сброшено правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...