正規表現でタグを抜き出すサンプルは以下のようになります。
名前付きキャプチャの<sentense>のほうは、タグ以外のテキストが入ります。
タグがマッチする方の正規表現についてちょっと解説すると、選択肢が3つありますが、1つ目は属性でダブルクォテーションが使われている場合、
2つ目はシングルクォテーションが使われている場合、最後は他の要素の場合がマッチします。
C#
private string TEXT061 = "サンプル サンプルです。
本文1
本文2
本文3
";
Regex r15 = new Regex("(<(\"[^\"]*\"|'[^']*'|[^\"'])*?>)|(?[\\w]+)");
MatchCollection m15 = r15.Matches(TEXT061);
foreach (Match m in m15)
{
this.textBox1.Text += "m15:" + m.Groups[1].Value + "\r\n";
this.textBox1.Text += "m15(sentense):" + m.Groups["sentense"].Value + "\r\n";
}
/*結果
m15:
m15(sentense):
m15:
m15(sentense):サンプル
m15:
m15(sentense):
m15:
m15(sentense):
m15:
m15(sentense):サンプルです
m15:
m15(sentense):
m15:
m15(sentense):
m15:
m15(sentense):本文1
m15:
m15(sentense):
m15:
m15(sentense):本文2
m15:
m15(sentense):
m15:
m15(sentense):本文3
m15:
m15(sentense):
m15:
m15(sentense):
*/
VB.NET
Private TEXT061 As String = "サンプル サンプルです。
本文1
本文2
本文3
"
Dim r15 As Regex = New Regex("(<(""[^""]*""|'[^']*'|[^""'])*?>)|(?[\w]+)")
Dim m15 As MatchCollection = r15.Matches(TEXT061)
For Each m As Match In m15
Me.TextBox1.Text += "m15:" & m.Groups(1).Value & vbCrLf
Me.TextBox1.Text += "m15(sentense):" & m.Groups("sentense").Value & vbCrLf
Next
'結果
'm15:
'm15(sentense):
'm15:
'm15(sentense):サンプル
'm15:
'm15(sentense):
'm15:
'm15(sentense):
'm15:
'm15(sentense):サンプルです
'm15:
'm15(sentense):
'm15:
'm15(sentense):
'm15:
'm15(sentense):本文1
'm15:
'm15(sentense):
'm15:
'm15(sentense):本文2
'm15:
'm15(sentense):
'm15:
'm15(sentense):本文3
'm15:
'm15(sentense):
'm15:
'm15(sentense):
| 良い | やや良い | 普通 | やや悪い | 悪い |
|---|
| 投稿日時 | 評価 | コメント |
|---|