用于从字符串中获取分辨率的C#正则表达式模式

时间:2014-11-20 06:20:23

标签: c# regex string

我是C#的新手,我有以下字符串,想从中提取分辨率字符串可以是任意长度。

e.g。

1100x1200@60

800x600@25

我希望使用正则表达式在两个不同的变量中提取11001200

由于

2 个答案:

答案 0 :(得分:1)

([^x]+)x([^@]+)

试试这个。抓住捕获。参见演示。

http://regex101.com/r/lZ5mN8/49

答案 1 :(得分:1)

使用以下正则表达式并从组索引1和2中获取分辨率值。

@"(\d+)x(\d+)"

您可以添加前瞻以检查匹配分辨率,只有后面跟@符号。

@"(\d+)x(\d+)(?=@)"

DEMO

String input = @"1100x1200@60";
Regex rgx = new Regex(@"(\d+)x(\d+)(?=@)");
foreach (Match m in rgx.Matches(input))
{
String var1 = m.Groups[1].Value;
String var2 = m.Groups[2].Value;
Console.WriteLine(var1);
Console.WriteLine(var2);
}

IDEONE