C#Regular Expression在字符串后面找到字符串

时间:2014-03-13 18:01:21

标签: c# regex

我有一个连接字符串

"User ID=abc;Password=pwd;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=PRDREPTQ)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=PRRQ)))"

我想使用正则表达式来解析主机“PRDREPTQ”值。有人可以帮我写这个模式吗?

2 个答案:

答案 0 :(得分:2)

最简单的解决方案:

\(HOST=(.*?)\)

例如:

enter image description here

所以在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]);