VBA正規表現抽出クラス

Excel, Access, Outlookでの文字列抽出効率化に向けたVBAの正規表現文字列抽出クラス ClassExtractor の紹介ページです。

概要

項目本文
呼称正規表現抽出クラス
URLhttps://it.sifr.me/product/vba-extractor-class/
最終更新日2023年03月25日
クラス名ClassExtractor
目的Excel, Access, Outlookでの文字列抽出効率化
前提:
 利用環境Excel, Access, Outlook 2016
 参照ライブラリMicrosoft VBScript Regular Expressions 5.5
(要VBA参照設定追加)
 構成クラスとして配置。外部からインスタンス化して利用
方針:
 処理速度バッチ的利用が出来れば問題なし
※がっつり速度チューニングする気なし
 処理方式初期処理→{設定→抽出→}*n→終了処理 の流れ
途中過程を保持しないシーケンシャルなフローでの利用
 キャッシュしない ※直前の判定結果のみ
表1.概要

機能

機能名関数名概要
設定初期化Configure正規表現パターン、
大文字小文字の区別(True:する)、
複数行対応(True:する)の設定を初期化
一致確認Test一致するか確認
一致件数確認Count一致件数確認
単数抽出Matchパターン初回ヒット文字列を取得
MatchPartialパターン初回ヒット文字列の最初のグループを取得
UnmatchHeadパターン初回ヒット文字列不一致の文字列頭部分を取得
UnmatchTailパターン初回ヒット文字列不一致の文字列尻尾部分を取得
複数抽出Matchesパターンヒット文字列を配列として取得
MatchesPartialパターンヒット文字列の最初のグループを配列として取得
単数置換ReplacePartialパターン初回ヒット文字列を置換した文字列を取得
複数置換ReplaceAllパターンヒット文字列を置換した文字列を取得
表2.機能

利用

典型的な使い方

  • 1.Microsoft VBScript Regular Expressions 5.5を参照設定に加える
  • 2.ClassExtractorを配置
  • 3.以下サンプルのように利用
    Dim InputValue As String, OutputValue As String
    InputValue = "あいうえおかきくけこさしすせそたちつてと"
    Dim TheInstance As New ClassExtractor
    With TheInstance
        Call .Configure("かき(く[^そ]+)", True, True)
        OutputValue = .MatchPartial(InputValue)
        Debug.Print OutputValue
    End With

上記で『くけこさしすせ』を出力出来ます。他の機能はマクロ付きエクセルをダウンロードするとModuleTest内のRunサブプロシージャに記載してあります。

注意事項

  • このソフトウェアを使用したことによって如何なる不利益を被っても、作者には一切の責任を負いません。自己責任でご利用下さい。
  • 作者はこのソフトウェアに不具合が生じた際に修正する義務を負いません。

ダウンロード

VBA正規表現抽出ツール(暫定版)