正規表現にて・・・ への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 モリオ  () 投稿日時 2008/9/10 04:56:00
>>5 
葉月さん、ありがとうございました。 
やっと出来ました。 
じっくりとコードの意味を解読して以降と思います。 
 
本当にありがとうございました。
投稿者 葉月  () 投稿日時 2008/9/10 04:21:00
>>4 
 一度、ボタンを押してから再度タグを記述したと想定します。 
 そのままだと、文字の色を引き継いだままになるので文字は赤色のままになってしまいます。 
 正規表現の問題ではありません。 
 
 ボタンを一度押して文字を書き込んだら、文字色を黒く戻す処理が必要になります。 
 以下のコードを追加してください。 
 
>>>追加するコード 
 
Private Sub RichTextBox1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RichTextBox1.SelectionChanged 
Me.RichTextBox1.SelectionColor = Color.Black 
End Sub
投稿者 モリオ  () 投稿日時 2008/9/10 00:53:00
>>2 
先ほど解決したと申しましたが、 
少し不具合がありました。 
 
 
<a> 
あかさたな 
</a> 
 
 
たとえばこのように(HTML的には間違っていますが) 
したとします。 
そうすると、"<"から">"まででなく、 
「あかさたな」まで赤色になってしまいます。 
 
">"から"<"と認識しているのでしょうか、できないのです。 
どうすれば直るのでしょうか? 
よろしくお願いします。
投稿者 モリオ  () 投稿日時 2008/9/10 00:27:00
>>2 
葉月さん、レスありがとうございます。 
このまえ Regex を使った時にエラーがでたので困っていたのですが、やっと解決しました。 
本当にありがとうございました。 
あとは自分で少しずつでも理解していこうと思ってます。
投稿者 葉月  () 投稿日時 2008/9/9 13:41:00
簡単なサンプルコードを書きました。 
ボタンとリッチテキストボックスを用意してください。 
 
>>>サンプルコード 
 
Imports System.Text.RegularExpressions 
 
Public Class Form1 
 
 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
 
Dim regex As Regex = New Regex("<.+?>") '*1 
Dim matches As MatchCollection = regex.Matches(Me.RichTextBox1.Text) 
 
For Each match As Match In matches 
Me.RichTextBox1.Select(match.Index, match.Length) 
Me.RichTextBox1.SelectionColor = Color.Red 
Next 
 
Me.RichTextBox1.Select(0, 0) 
 
End Sub 
 
End Class 
 
 
>>>説明 
*1 
 .+?は、特殊記号を含めた文字が何文字でもOKとなります。 
 .*と書くこともできます。 
 
 他に不明点がありましたらレスに書いてください。
投稿者 モリオ  () 投稿日時 2008/9/9 07:47:00
VB Express Edition 2008を使用しています。 
 
よくHTMLの編集ツールなどで、<html>や<p>などのタグの色が変化するものがあります。 
VBのコードの場面でも似たことがありますが、 
それと同じように、 
例えば 
"<"と">"に挟まれた文字の色を赤にする、というようなことはできるのでしょうか。どうやるのでしょうか? 
もちろんこのカッコ→"<"">"も含めて赤したいのです。 
またはあらかじめ"<"と">"の間に入るhtml,p,aなどのタグをひとつずつ確認していくか・・・ということも考えています。 
 
しかし、単にラベルの文字でやるのではなくて、 
テキストボックスの中の文字の色を変えたい(ユーザーが入力しているときにリアルタイムで、もしくはボタンを押して変えたい) 
のですが、できるのでしょうか? 
 
たぶん正規表現を使うのではないかと思うのですが、いまいち良くわかりません。 
できれば詳しい解説とサンプルをよろしくおねがいします。 
 
とても押し付けるような形でもうしわけございませんが、 
ぜひよろしくおねがいします。