如何编写正则表达式以从连接字符串中检索密码.
连接字符串是这样的:
USER ID=system;PASSWORD = ab;DATA ..
Run Code Online (Sandbox Code Playgroud)
要么
USER ID=system;PASSWORD=ab;DATA ...
Run Code Online (Sandbox Code Playgroud)
要么
USER ID=system;PASSWORD =ab;DATA...
Run Code Online (Sandbox Code Playgroud)
要么
USER ID=system;PASSWORD= ab;DATA ...
Run Code Online (Sandbox Code Playgroud)
试过使用ConnectionStringBuilder的方法.适用于SQL Server.但是在Oracle的情况下它抛出了这个异常:
Invalid length for connection option 'Data Source', maximum length is 128.
Run Code Online (Sandbox Code Playgroud)
Oracle连接字符串:
USER ID=sa;PASSWORD=abc;DATA SOURCE="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 8080))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = Orcl)))"
Run Code Online (Sandbox Code Playgroud)
是否要求您必须使用正则表达式?.NET具有内置的功能:
var sb = new SqlConnectionStringBuilder("USER ID=system;PASSWORD =ab;");
Console.WriteLine(sb.Password);
Run Code Online (Sandbox Code Playgroud)
这可能比使用正则表达式更强大.这些字段的规则相当全面,很容易制作适用于大多数连接字符串的正则表达式,但在某些字符串上会失败.请参阅连接字符串规则,以获取必须嵌入此类Regex中的规则列表.