掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
正規表現で・・・ (ID:142928)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
# もう見ていないかな? > ちなみに今後の為に正規表現であればどのようにするのでしょうか?? 正規表現は苦手なのですが、これでどうでしょうか。 Option Explicit Private Sub Form_Load() Label1.Caption = _ "<HR color=#000000 WIDTH=90% SIZE=2>123[a]" & vbCrLf & _ "あいうえお" & vbCrLf & _ "かきくけこ" & vbCrLf & _ "<HR color=#000000 WIDTH=90% SIZE=2>456[b]" & vbCrLf & _ "さしすせそ" & vbCrLf & _ "たちつてと" & vbCrLf & _ "<HR color=#000000 WIDTH=90% SIZE=2>" End Sub Private Sub Command1_Click() '参照設定に "Microsoft VBScript Regular Expressions 5.5" を追加 Dim re As RegExp Set re = New RegExp re.Global = True re.Pattern = "[^>]+(?=<HR color=#000000 WIDTH=90% SIZE=2>)" '確認 Dim m As Match For Each m In re.Execute(Label1.Caption) Debug.Print "【" & m.Value & "】" Next End Sub これにより、以下の結果が出力されます。 【123[a] あいうえお かきくけこ 】 【456[b] さしすせそ たちつてと 】 ただし先の配列パターンとは、結果が微妙に異なる事に注意してください。 たとえば、検索対象の文字列が Label1.Caption = _ "先導文字列<HR color=#000000 WIDTH=90% SIZE=2>123[a]" & vbCrLf & _ "あいうえお" & vbCrLf & _ "かきくけこ" & vbCrLf & _ "<HR color=#000000 WIDTH=90% SIZE=2>456[b]" & vbCrLf & _ "さしすせそ" & vbCrLf & _ "たちつてと" & vbCrLf & _ "<HR color=#000000 WIDTH=90% SIZE=2>後続文字列" であった場合、 'Split 関数で配列化 result = Split(Label1.Caption, "<HR color=#000000 WIDTH=90% SIZE=2>") を使えば、末尾の『後続文字列』の部分も取り出せますが、 '正規表現による検出 re.Pattern = "[^>]+(?=<HR color=#000000 WIDTH=90% SIZE=2>)" だと、末尾の『後続文字列』は取り出せません。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.