使用RegEx识别数据库连接字符串的各个部分

Vik*_*mer 7 regex

我正试图掌握正则表达式:

我有一个数据库连接字符串,我想使用正则表达式来识别其中的特定键和值.

例如

server=foo;database=bar;uid=foo;pwd=bar
Run Code Online (Sandbox Code Playgroud)

我想要回复"database = bar;" 使用'database'键来识别它,理想情况下它不区分大小写.我可以使用普通代码来做到这一点,但我认为这正是设计正则表达式的那种东西.

Tho*_*mas 9

database=([^;]*);
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩.它匹配字符串database=,后跟零个或多个非分号的任何序列,后跟分号.非分号的序列是括号,因此您可以稍后提取与正则表达式的这一部分匹配的文本.

如何指定不区分大小写,以及如何提取带括号的东西的值,取决于您正在使用的语言.