在字符串正则表达式C#中查找单词,然后查找值编号

时间:2014-07-23 07:23:16

标签: c# regex

我是正则表达式使用的新手,并且我在2天内搜索如何从字符串中提取特定数据,但没有成功。

这个字符串是一个较长字符串的部分字符串,我需要找到一个参数,然后得到它的值:

\rRoll Off = 0.25\rSINE = OFF\rSymbol Rate = 1.000000\rBit Rate = 1.322253

目标 :找到参数符号率并获取其值 1.000000 (只需存储该值)使用C#进行正则表达式。

如果有人可以帮我解决这个问题,将会非常有帮助。

谢谢!

2 个答案:

答案 0 :(得分:5)

回顾后

使用此:

var myRegex = new Regex(@"(?<=Symbol Rate\s*=\s*)[0-9.]+");
string resultString = myRegex.Match(yourString).Value;
Console.WriteLine(resultString);

<强>解释

  • lookbehind (?<=Symbol Rate\s*=\s*)断言前面的内容是Symbol Rate,可选空格,=,可选空白
  • [0-9.]+一个或多个数字或句号
  • 的字符

<强>参考

答案 1 :(得分:0)

这是使用群组的另一种选择......

var foo = "\rRoll Off = 0.25\rSINE = OFF\rSymbol Rate = 1.00000\rBit Rate = 1.322253";
var match = Regex.Match(foo, @"Symbol Rate\s*=\s*(-?\d+(\.\d+)?)");
Console.WriteLine(match.Groups[1]);

Live Demo