是否有可能有一个 .net 正则表达式模式引用模式的另一部分中先前捕获的组的数值?我需要匹配重复以下格式的字符串:
- 10 字节 alpha 键后跟 2 字节运算符(sql 运算符的子集),后跟 5 个整数位,后跟一个 n 字节值,其中 n = 5 个整数位的整数值。
EX 字符串:
“key1 = 00004val1key2 <=00006value2key3 >=00011value_three”
其中 val1 是 4 字节,value2 是 6 字节,value_three 是 11 字节,等等......这个字符串代表我需要能够解析和识别以下字符串的重复标准集:
第一个标准:“key1”、“=”、“val1”
第二个标准:“key2”、“<=”、“value2”
第三个标准:“key3”、“>=”、“value_three”
我过去使用过 .net 正则表达式,应该能够以重复模式解析键、运算符和数字,但不知道如何,或者即使可以引用模式后面的数字(即字符串“00004”的值为 4 的整数)。
更新 1 最初我认为我需要一个正则表达式模式,例如:
^(?<criteria>(?<key>\w{10})(?<operator>(= |<=|>=))(?<value_length>\d{5})(?<value>\w{n}))+$
其中“value”捕获组中的 {n} 量词需要具有基于“value_length”捕获组的值的值,对于捕获的每个“标准”。如果这不是考虑形成正则表达式模式的正确方法,我可以更改为另一种有效的方法。