我想在两个字符串之间提取一个IP地址,即Source IP:和Source Port :,字符串就像这样“ Source IP:192.168.1.17 Source Port:”
答案 0 :(得分:2)
如果您只想匹配字符串中的IP部分,则可以使用此正则表达式,该正则表达式使用环视方式来确保它被您想要的文本包围。
(?<=Source IP:)\d+(?:\.\d+){3}(?=\s*Source Port:)
此处\d+(?:\.\d+){3}
捕获IP地址,并且(?<=Source IP:)
确保IP地址以Source IP:
开头并以\s*Source Port:
后继
希望这就是您想要的。
编辑:
好的Zaid,这是示例C#代码,
public static void Main(string[] args)
{
string s = "Source IP:192.168.1.17 Source Port:";
var match = Regex.Match(s, @"(?<=Source IP:)\d+(?:\.\d+){3}(?=\s*Source Port:)");
Console.WriteLine("IP: " + match.Groups[0].Value);
}
此输出
IP: 192.168.1.17
请让我知道是否还有某些问题无法解决。如果还是这样,请编辑您的文章并分享您的代码和示例字符串。