環境:Win2000,VB6sp5
htmlテキストの2重引用符で囲まれた部分を抽出し文字色を変えようとしています。
しかし、正規表現での検索式がうまく作れません。
最初、"[^"]*" などとしてみたのですが、必要ない部分までヒットします。
(当然といえば当然ですが)
たとえば、以下では
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
"JavaScript" と "text/javascript" をヒットさせたいのですが、
" TYPE=" までヒットしてしまいます。
また、
"hogehoge.db?X001=" +Delete0pad(NS) +"&X0201=" +num;
などといったスクリプトも含まれますので、" の直前に = が存在するといった
検索もできません。
うまい検索式は無いでしょうか。
識者の皆様のアドバイスをお願いします。
効率の良い方法とは言えませんが単に検索と言う観点で
例えば下記の様な考え方は?
例1.dat = Split(tmp,chr(34)) で分割した時に
dat(1) や dat(3) 等の添え字が奇数のもの
例2.InStr で " を探して行き、奇数番目と偶数番目に
囲まれた文字列
テキストの色を部分的に変えるということはRichTextBoxを使うと思いますが、
色変更の処理をRichTextBoxのTextベースでやろうとすると、
RichTextBox.SelStart,RichTextBox.SelLength,RichTextBox.SelColor
という順番で色を変更するわけですが、これがかなり処理が重い、フリーのソフトの中には
これでやっているソフトも有りますが、ちょっと長いHTMLだとフリーズしたのではないかと
思われる位遅くなります。そこでやむおえず、RichTextBox.TextRTFを使うことになるのですが
そうなるとTxtRTFの中のCHR(34)の次ににカラーテーブルのタグを挿入することになります。
ここでやっと結論、InStrでCHR(34)を探してカラータグを挿入すると言う方法が一番簡単かと思います。
ちょっと余計なおせっかいだったかな。。。。。。(^^;
>すぐハルさん
ねろさんからも、すぐハルさん以外の提案が無いとなると
やはり、コードで処理してゆくしかない気がしています。
他のhtmlタグは正規検索・置換でうまく行っているものですから
何とか簡単にできる手法は無いかと考えていました。
>ねろさん
"HTML忠太"はなかなか使い勝手の良さそうなソフトですね。
インターフェイスは参考にさせていただいております。
私の今回の目的は、IEの遠隔操作ソフトを作成・改良中なのですが
Dom参照の際、ブラウザーのソースとは少し違った表示になるので
Dom参照でのソースを理解しやすくするツールとしてのものです。
なお、色つけはアドバイスの如く、TextRTFで操作しています。
既にいろ変更した一部を別の色にする場合は、後部タグ?を注意しないと
いけないですよね?
また、お決まりの如く、文字列はMidステートメントでしております。
なお、
解決のチェックは、もう少し他の方のアドバイスと待ってからにします。
お二方ともアドバイス有り難うございました。
おかげさまで、希望の動作を処理できるようになりました。
改めて御礼申し上げます。
他の方のアドバイスも無いようですし、これで解決とさせていただきます。