パターンの別の部分で以前にキャプチャされたグループの数値を参照する .net 正規表現パターンを持つことは可能ですか? 次の形式を繰り返す文字列に一致させる必要があります。
- 10 バイトの英字キー、2 バイトの演算子 (SQL 演算子のサブセット)、5 桁の整数、n バイトの値が続きます。ここで、n は 5 桁の整数の整数値です。
EX 文字列:
"key1 = 00004val1key2 <=00006value2key3 >=00011value_three"
val1 は 4 バイト、value2 は 6 バイト、value_three は 11 バイトなどです。この文字列は、次の文字列を解析して識別するために必要な条件の繰り返しセットを表しています。
第 1 基準: 「key1」、「=」、「val1」
2 番目の条件:「key2」、「<=」、「value2」
3 番目の基準: "key3"、">="、"value_three"
私は過去に .net 正規表現を使用したことがあり、繰り返しパターンでキー、演算子、および数字を解析することを理解できるはずですが、どのように、またはその数値を参照できるかどうかさえわかりません数字 (つまり、文字列 "00004" の値が 4 の整数) をパターンの後半に配置します。
更新 1 当初、次のような正規表現パターンが必要だと考えていました。
^(?<criteria>(?<key>\w{10})(?<operator>(= |<=|>=))(?<value_length>\d{5})(?<value>\w{n}))+$
ここで、「値」キャプチャ グループの {n} 量指定子には、キャプチャされた「基準」ごとに、「value_length」キャプチャ グループの値に基づく値が必要です。これが正規表現パターンの形成について考える正しい方法でない場合は、機能する別のアプローチに変更できます。