まず名前付きではないキャプチャに左から順番に1,2,…とついていき、次に名前付きのキャプチャについて左から番号が付いていきます。
この規則を知っていれば、サンプルの中のように\1、\2、…という具合に後方から参照することができます。
サンプルコードの注意
正規表現で<!--(\\1)-->と表示されているのは間違いで、</(\\1)>が正しいです。
(VBでは、誤:<!--(\1)--> 正:</(\1)>)
C#
private string TEXT06 = "サンプル サンプルです。
本文1
"; //入れ子になっていないHTMLタグ Regex r19 = new Regex("<([^>]+)>(?
本文2
本文3[^<]*)(\\1)>"); MatchCollection m19 = r19.Matches(TEXT06); foreach (Match m in m19) for (int i = 1; i < m.Groups.Count; i++) { this.textBox1.Text += "m19(" + i.ToString() + "):" + m.Groups[i].Value + "\r\n"; } } /*結果 m19(1):title m19(2):title m19(3):サンプル m19(1):h1 m19(2):h1 m19(3):サンプルです。 */
VB.NET
Private TEXT06 As String = "サンプル サンプルです。
本文1
" '入れ子になっていないHTMLタグ Dim r19 As Regex = New Regex("<([^>]+)>(?
本文2
本文3[^<]*)(\1)>") Dim m19 As MatchCollection = r19.Matches(TEXT06) For Each m As Match In m19 For i As Integer = 1 To m.Groups.Count - 1 Step 1 Me.TextBox1.Text += "m19(" & i.ToString() & "):" & m.Groups(i).Value & vbCrLf Next Next '結果 'm19(1) : title 'm19(2) : title 'm19(3) : サンプル 'm19(1) : h1 'm19(2) : h1 'm19(3):サンプルです。
良い | やや良い | 普通 | やや悪い | 悪い |
---|
投稿日時 | 評価 | コメント |
---|