Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式:通过多个捕获进行解析_C#_Regex_Expresso - Fatal编程技术网

C# 正则表达式:通过多个捕获进行解析

C# 正则表达式:通过多个捕获进行解析,c#,regex,expresso,C#,Regex,Expresso,早上好。我已从设备返回以下行 ♥☺i20100☺i2010018032809120110000074653B0F4465275D245EAA80042D82F5E000000004291D83C00000000022000007460042FD45FE7F2A4648C0004282FC0400000000429799E500000000033000007466A869946694E8145BCF80042EF811B00000000428CCAF400000000044000007461DFF

早上好。我已从设备返回以下行

♥☺i20100☺i2010018032809120110000074653B0F4465275D245EAA80042D82F5E000000004291D83C00000000022000007460042FD45FE7F2A4648C0004282FC0400000000429799E500000000033000007466A869946694E8145BCF80042EF811B00000000428CCAF400000000044000007461DFFC4461D1D61462B040042A15A6600000000428E635100000000&&C631♥
数据在日期时间戳之后以6个字符的块返回。我试图越过日期时间,寻找所有以42开头的6块。应返回3个区块。
使用Expresso,我可以得到all
*i20100.i20100(?{10})(?{6})+

但是,我如何对其中的每一个进行子查询并返回所有以42开头的子查询呢?我想可能是这样:
*i20100.i20100(?{10})({6})*(?42.{4})+

但这只是返回最后一个

提前谢谢! -Dave

您可以使用

(?<=i20100.i20100(?<Date>.{10})(?:.{6})*?)42.{4}

(?不确定我是否用代码块删除了你的问题,但不清楚字符串/代码/等的内容是什么,不是什么。如果我弄错了什么,请正确清理。它在以前的状态下难以辨认。我只做了一次快速编辑,但感谢您清理。因此,请澄清,第一个代码块可以返回我的所有组。)t我想过滤它,只返回以42开头的6个块组(应该有3个)。我还可以进入并输入我的表达式和文本以对其进行测试,并看到第一个表达式返回1个日期匹配项和44个组AANNTT匹配项,但第二个表达式仅捕获日期和1个AANTT匹配项。这太完美了,谢谢。我不知道前瞻功能