Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Reg在C语言中的表达#_C#_.net_Regex_Connection String - Fatal编程技术网

C# Reg在C语言中的表达#

C# Reg在C语言中的表达#,c#,.net,regex,connection-string,C#,.net,Regex,Connection String,我给出了上面的字符串,我想从该字符串中获取serveripaddress、DB1、uid和****这些值 data source=([^;]*);Initial Catalog=([^;]*);user id=([^;]*);Password=([^;"]*) 然后在第1组到第4组中进行匹配。如果你觉得无聊,你可以给小组命名;有助于代码的可读性,但很少有助于正则表达式本身的可读性。使用“;”分割值不是更容易吗然后用“=”字符分割每个项目 这样,用户可以编辑连接字符串,甚至可以更改项目顺序。不要

我给出了上面的字符串,我想从该字符串中获取serveripaddress、DB1、uid和****这些值

data source=([^;]*);Initial Catalog=([^;]*);user id=([^;]*);Password=([^;"]*)

然后在第1组到第4组中进行匹配。如果你觉得无聊,你可以给小组命名;有助于代码的可读性,但很少有助于正则表达式本身的可读性。

使用“;”分割值不是更容易吗然后用“=”字符分割每个项目

这样,用户可以编辑连接字符串,甚至可以更改项目顺序。

不要使用正则表达式

使用解析连接字符串,然后从中访问密钥

var b = new SqlConnectionStringBuilder(myConnectionString);
var dataSource = b["Data Source"]; 
// etc.

更简单、更易维护、更可靠。

如果BCL可以为您解析连接字符串,则无需解析:

var builder = new OleDbConnectionStringBuilder(connectionString);
var provider = builder.Provider;
var dataSource = builder.DataSource;
var initialCatalog = builder["Initial Catalog"];
var userID = builder["User ID"];
var password = builder["Password"];

请注意,对于OLE DB连接字符串,只有标准的跨提供程序属性具有强类型属性名称,其余所有属性都通过索引器访问。

至少向我们展示您已经获得的内容。这个问题看起来像是“嘿,那么,帮我解决我的任务”+1,因为subramani只说谢谢,从来没有听说过接受或投票