Использование RegEx для идентификации частей строки подключения к базе данных - PullRequest
6 голосов
/ 30 марта 2010

Я пытаюсь разобраться с регулярными выражениями:

У меня есть строка подключения к базе данных, и я хотел бы использовать регулярное выражение для определения конкретных ключей и значений внутри нее.

Например

server=foo;database=bar;uid=foo;pwd=bar

Я бы хотел что-то вернуть "database = bar;" используя ключ «база данных» для его идентификации, в идеале он не учитывает регистр. Я могу сделать это, используя обычный код, но я думаю, что это именно то, для чего были разработаны регулярные выражения.

1 Ответ

8 голосов
/ 30 марта 2010
database=([^;]*);

должен сделать свое дело. Он соответствует строке database=, за которой следует любая последовательность из нуля или более точек с запятой, за которой следует точка с запятой. Последовательность, не являющаяся точкой с запятой, заключена в скобки, поэтому вы можете позже извлечь текст, соответствующий этой части регулярного выражения.

Как указать нечувствительность к регистру и как извлечь значение, заключенное в скобки, зависит от используемого вами языка.

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