Excel, Access, Outlookでの文字列抽出効率化に向けたVBAの正規表現文字列抽出クラス ClassExtractor の紹介ページです。
概要
| 項目 | 本文 | 
|---|---|
| 呼称 | 正規表現抽出クラス | 
| URL | https://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→終了処理 の流れ 途中過程を保持しないシーケンシャルなフローでの利用 | 
| キャッシュ | しない ※直前の判定結果のみ | 
機能
| 機能名 | 関数名 | 概要 | 
|---|---|---|
| 設定初期化 | Configure | 正規表現パターン、 大文字小文字の区別(True:する)、 複数行対応(True:する)の設定を初期化 | 
| 一致確認 | Test | 一致するか確認 | 
| 一致件数確認 | Count | 一致件数確認 | 
| 単数抽出 | Match | パターン初回ヒット文字列を取得 | 
| MatchPartial | パターン初回ヒット文字列の最初のグループを取得 | |
| UnmatchHead | パターン初回ヒット文字列不一致の文字列頭部分を取得 | |
| UnmatchTail | パターン初回ヒット文字列不一致の文字列尻尾部分を取得 | |
| 複数抽出 | Matches | パターンヒット文字列を配列として取得 | 
| MatchesPartial | パターンヒット文字列の最初のグループを配列として取得 | |
| 単数置換 | ReplacePartial | パターン初回ヒット文字列を置換した文字列を取得 | 
| 複数置換 | ReplaceAll | パターンヒット文字列を置換した文字列を取得 | 
利用
典型的な使い方
- 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サブプロシージャに記載してあります。
注意事項
- このソフトウェアを使用したことによって如何なる不利益を被っても、作者には一切の責任を負いません。自己責任でご利用下さい。
- 作者はこのソフトウェアに不具合が生じた際に修正する義務を負いません。