Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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
.net 可以在字符串的同一部分中包含两个命名组吗?_.net_Regex - Fatal编程技术网

.net 可以在字符串的同一部分中包含两个命名组吗?

.net 可以在字符串的同一部分中包含两个命名组吗?,.net,regex,.net,Regex,我正在使用.NET中名为Groups的正则表达式查找扫描条形码字符串的部分。可以在配置中添加正则表达式,以便系统可以适应不同的条形码布局 这很好,但有一种情况我无法工作: 条形码示例: 17C002101/1803 正则表达式: (?<LotNumber>.{9})(\/)(?<ExpDate>.{4}) (?。{9})(\/)(?。{4}) 这很好,并提取了以下内容: 批号:17C002101 出口日期:1803 现在我还需要提取“TestCode”,这实际上是“

我正在使用.NET中名为Groups的正则表达式查找扫描条形码字符串的部分。可以在配置中添加正则表达式,以便系统可以适应不同的条形码布局

这很好,但有一种情况我无法工作:

条形码示例:

17C002101/1803
正则表达式:

(?<LotNumber>.{9})(\/)(?<ExpDate>.{4})
(?。{9})(\/)(?。{4})
这很好,并提取了以下内容:

批号:17C002101 出口日期:1803

现在我还需要提取“TestCode”,这实际上是“LotNumber”匹配的一部分,在本例中,最后四位数字是“2101”


有没有办法做到这一点,或者我需要创建多个正则表达式才能工作?

如果您的第三个组是另一个组的一部分,并且没有重叠发生,您可以简单地嵌套这些组

(?<LotNumber>.{5}(?<TestCode>.{4}))(\/)(?<ExpDate>.{4})
(?。{5}(?。{4}))(\/)(?。{4})