【发布时间】:2018-07-18 14:07:05
【问题描述】:
我在使用 C# 中的正则表达式来提取 IP + 端口 时遇到问题,格式为 X.X.X.X Port,位于长字符串的中间。
字符串示例:
"C:/programs/CamClient/ver/0.0.1.202/client.exe" "12345" "RemoteClient.exe" "/path" "118.118.118.118 5978 AInRy+Nj9CVVaE6iCN1hSQ== 106937037""-UseNewX3DFramebuffers=0" "-ClientPort=55000" "-AuthToken=hC-dlUy2rLe7CUQDtk2LOQ"
我需要提取“118.118.118.118 5978”作为新字符串 IP总是外部的,端口总是在5000-5999之间,更准确
我的实际正则表达式不工作,我已经尝试解决并最终迷失在正则表达式世界的中间。
Regex regex = new Regex(@"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}[\s]\d{1,4}$");
String testString = "asdaasd32 as333 /remote 'ID93494' 118.118.118.118 5978 AInRy+Nj9CVVaE6iCN1hSQ=='106937037'";
MatchCollection matches = regex.Matches(testString);
foreach (MatchCollection match in matches)
{
Console.WriteLine(match.ToString());
}
如果有人知道我做错了什么,将不胜感激。
【问题讨论】: