似乎是一个相当简单的问题。我想查看大约6gb的内容和经典的asp代码,并找到任何看起来像连接字符串的东西。问题是,连接字符串以十几种不同的方式格式化。
我正在考虑使用正则表达式来查找“catalog =”或“password =”等特定属性。
答案 0 :(得分:3)
你不能使用这个正则表达式吗?
@"^([^=;]+=[^=;]*)(;[^=;]+=[^=;]*)*;?$"
http://social.msdn.microsoft.com/Forums/en-US/regexp/thread/48bf2a4f-7312-4a32-b874-b77a27f7c5d0
答案 1 :(得分:1)
我感觉到你的痛苦 - 为什么人们这样做?
正则表达式/类似grep的工具是可行的方法。容纳他们格式化的无数方式将不会很有趣。
答案 2 :(得分:0)
我会在其中制作一个带有随机文本的示例文件,以及每种可能格式的一个连接字符串。然后将(一个或多个)正则表达式写入匹配测试文件中的每个连接字符串。然后在你的6GB数据上运行它,并希望最好。
答案 3 :(得分:0)
该连接字符串可以构建为一个字符串:
x = "Provider=xyz;Initial Catalog=bdf;Database=pdq;"
一堆连续的行:
x = "Provider=xyz;" & _
"Initial Catalog=bdf;" & _
"Database=pdq;"
一堆行:
x = "Provider=xyz;"
x = x & "Initial Catalog=bdf;"
x = x & "Database=pdq;"
或在dotnet中使用ConnectionBuilder对象
SqlConnectionStringBuilder x = newSqlConnectionStringBuilder();
x.Add("Data Source", "pdq");
x.Add("Initial Catalog", "xyz");
那么识别连接字符串的所有位置并向后工作不是更好吗?
“的SqlConnection | odbcconnect |的OleDbConnection | ConnectionString的”