正規表現を使用する VBScript で記述されたレガシー コードがあり、このコードを C# で書き直す必要があります。残念ながら、「Submatches」コレクションを持つ VBScript RegEx クラスをそれぞれの C# コードにマップすることはできません。
これは VBScript です: RegExp=CreateObject("VBScript.RegExp"); RegExp.Pattern = ' パターン RegExp.IgnoreCase=True; RegExp.Global=True; RegExp.Multiline = True;
Matches=RegExp.Execute(someText);
For Each Match In Matches Do
If Match.SubMatches(4) <> Nothing Then
' some code goes next
問題は次のとおりです。VBScript の「サブマッチ」に相当する C# Regex メソッドが何であるかわかりません。
私のC#:
var Regex = new Regex(@"(\{\n?)|(""(""""|[^""]*)*"")|([^\},\{]+)|(,\n?)|(\}\n?)", RegexOptions.IgnoreCase | RegexOptions.Multiline);
var Matches = Regex.G(textBox1.Text);
var Tree = new SimpleTree<string>();
foreach (var Match in Matches)
{
}
「foreach」ループの「Match」オブジェクトは「オブジェクト」であり、「サブマッチ」メンバーはありません。C#でサブマッチを実装するには?