我有一个连接字符串
"User ID=abc;Password=pwd;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=PRDREPTQ)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=PRRQ)))"
我想使用正则表达式来解析主机“PRDREPTQ”值。有人可以帮我写这个模式吗?
答案 0 :(得分:2)
最简单的解决方案:
\(HOST=(.*?)\)
例如:
所以在C#:
Match match = Regex.Match(inputString,@"\(HOST=(.*?)\)",RegexOptions.IgnoreCase | RegexOptions.Singleline);
string host_value = match.Groups[1].Value;
答案 1 :(得分:0)
使用此:
正则表达式HOST=(\w+)
抓住第一组
string testString = "User ID=abc;Password=pwd;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=PRDREPTQ)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=PRRQ)))";
var match= Regex.Match(testString, @"HOST=(\w+)");
Console.WriteLine(match.Groups[1]);