在c#字符串正则表达式中查找一个单词,然后查找一个值

本文关键字:一个 查找 然后 单词 正则表达式 字符串 | 更新日期: 2023-09-27 18:14:12

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

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

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

目标:查找参数符号速率并通过c#正则表达式获取其值1.000000(只需要存储值)。

如果有人能帮我解决那个问题,那就太有帮助了。

谢谢!

在c#字符串正则表达式中查找一个单词,然后查找一个值

look - behind

使用

:

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

  • 后面的(?<=Symbol Rate's*='s*)断言前面是Symbol Rate,可选空白,=,可选空白
  • [0-9.]+一个或多个数字或句点
参考

  • 零长度断言的前向和后向
  • 掌握向前看和向后看

这里有一个使用groups…

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]);

现场演示