2014-03-13 163 views
0

後我有一個連接字符串只C#正則表達式查找字符串的字符串

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

我想用正則表達式解析出主機「PRDREPTQ」值。任何人都可以幫我寫出這個模式嗎?

+0

這個工具幫了我很多檢查出來https://www.debuggex.com/ –

回答

2

最簡單的辦法:

\(HOST=(.*?)\)

例如:

enter image description here

所以在C#:

Match match = Regex.Match(inputString,@"\(HOST=(.*?)\)",RegexOptions.IgnoreCase | RegexOptions.Singleline); 
string host_value = match.Groups[1].Value; 
+0

這正是我需要的。不勝感激! – user464090

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]); 
相關問題