如何在c#中使用正则表达式单独获取端口号?

时间:2015-06-05 11:58:44

标签: regex c#-4.0

任何人都可以指导我从下面单独获取端口号吗?注意:我将整行保持为字符串。

"C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\11.0\WebDev.WebServer40.EXE" /port:4274 /path:"F:\Program Files (x86)\Samples\test\" /vpath:"/"

我预期的产量仅为4274。

我尝试过stackoverflow的许多解决方案。没有任何帮助。

先谢谢。

此致 卡

2 个答案:

答案 0 :(得分:2)

您可以使用以下正则表达式来获取port:子字符串旁边的数字。

@"(?<=\bport\s*:\s*)\d+"

答案 1 :(得分:1)

您可以使用不带正则表达式的C#代码来获取数字:

var val = string.Empty;
var port_num = inpt.Split(' ').
     Where(p => p.StartsWith("/port:")).FirstOrDefault();
if (!string.IsNullOrEmpty(port_num))
     val = port_num.Substring(port_num.IndexOf(':')+1);

输出:

enter image description here