繁体   English   中英

正则表达式无法正常工作

[英]Regex not working as expected

好的,让我解释一下当前情况:

我从COM1获得了一些字符串,我对此进行了过滤以仅显示所需的信息,因此我只有这样的字符串:

NTF,IDAS,RXSTAT,IND,01-0100,01-0131,+,-63,81

现在的问题是,在此示例中,我需要获取数字:131,仅该数字,

我试图用Regex实现此目的,但没有成功。

我有这个作为我的正则表达式:

Regex.Match(line, ",01-0100,01-0([0-9]{3})").Value.ToString()

并期望能给我回报

131

但是它返回:

,01-0100,01-0131

有人可以帮助我解决这个问题吗?

您使用了错误的组索引。 组0是整个匹配项,组1是第一个组的值。

Regex.Match(line, ",01-0100,01-0([0-9]{3})").Groups[1].Value.ToString()

您还可以命名您的群组:

Regex.Match(line, ",01-0100,01-0(?<mygroup>[0-9]{3})").Groups["mygroup"].Value.ToString()

哦,作为一个组的值始终是一个字符串:

Regex.Match(line, ",01-0100,01-0(?<mygroup>[0-9]{3})").Groups["mygroup"].Value;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM