Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using RegEx to Identify parts of a Database Connection String

Tags:

regex

I'm trying to get to grips with regular expressions:

I have a database connection string and I'd like to use a regular expression to identify specific Keys and Values within it.

For example

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

I'd like something to return "database=bar;" using the 'database' key to identify it, ideally it would be case insensitive. I can do this using normal code, but I think that this is exactly the sort of thing for which regular expressions were designed.

like image 875
VikingProgrammer Avatar asked Mar 30 '10 12:03

VikingProgrammer


1 Answers

database=([^;]*);

should do the trick. It matches the string database=, followed by any sequence of zero or more non-semicolons, followed by a semicolon. The sequence of non-semicolons is parenthesized, so you can later extract the text that matched this part of the regex.

How to specify case insensitivity, and how to extract the value of the parenthesized thing, depends on the language you're using.

like image 142
Thomas Avatar answered Oct 21 '22 11:10

Thomas