ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

VBA で正規表現を使う(RegExp オブジェクト)

      2018/03/24

RegExp オブジェクト

VBA で正規表現を使うには、VBScript のRegExp オブジェクトを使用します。
RegExp オブジェクトを使うには、CreateObject 関数を利用するか、参照設定で「Microsoft VBScript Regular Expressions 5.5」にチェックを付けます。参照設定の方法については、ファイルシステムオブジェクト(FileSystemObject)の使い方 を参照してください。


【書式】

<参照設定>
Dim re As RegExp
Set re = New RegExp

<CreateObject 関数を使用>
Dim re As Object
Set re = CreateObject(“VBScript.RegExp”)


RegExp オブジェクトのプロパティ、メソッドの詳細、使用例に関しては、
VBA で正規表現を使う(RegExp オブジェクトのプロパティ)
VBA で正規表現を使う(RegExp オブジェクトのメソッド)
を参照してください。




RegExp オブジェクトのパターン文字列として使用できるメタ文字


シンボル 機能
位置マッチング … 文字の始まりや終わりを検索します。
^ 文字列の先頭にのみマッチします。
$ 文字列の末尾にのみマッチします。
\b 任意の単語の境界にマッチします。
\B 単語の境界以外にマッチします。
リテラルの検索 … 文字の前に “\” を置きます。
英数字 英字と数字に文字どおりにマッチします。
\n 改行にマッチします。
\f フォーム フィードにマッチします。
\r キャリッジ リターンにマッチします。
\t 水平タブにマッチします。
\v 垂直タブにマッチします。
\? ? にマッチします。
\* * にマッチします。
\+ + にマッチします。
\. . にマッチします。
\| | にマッチします。
\{ { にマッチします。
\} } にマッチします。
\\ \ にマッチします。
\[ [ にマッチします。
\] ] にマッチします。
\( ( にマッチします。
\) ) にマッチします。
\xxx 8進数 xxx によって表現されるASCII文字にマッチします。
\xdd 16進数 dd によって表現されるASCII文字にマッチします。
\uxxxx UNICODE xxxx によって表現されるASCII文字にマッチします。
文字クラス
[] [] 内に含まれている文字にマッチします。
[^] [^] に含まれていない文字にマッチします。
. \n 以外の任意の文字にマッチします。
\w 単語に使用される任意の文字にマッチします。[a-zA-Z_0-9]と等価。
\W 単語に使用される文字以外の任意の文字にマッチします。[^a-zA-Z_0-9]と等価。
\d 任意の数字にマッチします。[0-9]と等価。
\D 任意の数字以外の文字にマッチします。[^0-9]と等価。
\s 任意のスペース文字にマッチします。[ \t\r\n\v\f]と等価。
\S 任意の非スペース文字にマッチします。[^ \t\r\n\v\f]と等価。
繰り返し
{n} 正規表現のちょうど n個の直前の文字にマッチします。
{n,} 正規表現のn個以上の直前の文字にマッチします。
{n1,n2} 正規表現のn1個以上、n2個以下の直前の文字にマッチします。
? ゼロ個または1個の直前の文字にマッチします。{0,1}と等価。
* ゼロ個以上の直前の文字にマッチします。{0,}と等価。
+ 1個以上の直前の文字にマッチします。{1,}と等価。
選択とグループ化
() 複数の句をグループ化して、1つの句を作成します。ネストすることができます。
| 選択は、複数の句を1つの正規表現にまとめ、これらのうちの任意の句にマッチします。
後方参照
()\n n番目の括弧で囲まれた句にマッチします。



VBAで正規表現を使用する例

サンプルVBAソース


実行結果

VBA正規表現使用例



 - VBA基本 , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

変数宣言と変数のデータ型
変数のデータ型・宣言(Dim ステートメント)

変数の宣言 一般的な方法 【書式】 Dim varname [ As type, …

エラー(CVErr 関数・IsError 関数・Error 関数)

CVErr 関数(エラー番号をエラー値に変換する)の使い方 【書式】 retur …

IMEStatus 関数 例
IME の現在の状態を取得します(IMEStatus 関数)

IMEStatus 関数の使い方 【書式】 result = IMEStatus …

Dictionary オブジェクト 使用例1
連想配列(Dictionary オブジェクト)

連想配列 連想配列とは、添字(キー)に文字列を使用することができる配列です。 V …

QBColor 関数 使用例
色を設定する(QBColor 関数)

QBColor 関数 QBColor 関数は、指定した色番号に対応するRGB コ …

Weekday 関数・WeekdayName 関数 使用例
日付時刻:日付から曜日を取得( Weekday 関数、WeekdayName 関数 )

Weekday 関数(日付から曜日を表す数値を返す)の使い方 【書式】 week …

文字列:文字列を検索してその最初の文字位置を返す(InStr 関数,InStrB 関数)

InStr 関数・InStrB 関数の使い方 【書式】 result = { I …

文字列:文字を指定数並べた文字列を返す(String 関数)

String 関数 【書式】 result = String ( number, …

ユーザー設定リスト
ユーザー設定リストを使って並べ替える(Sort)

VBAでリスト、テーブルを並べ替える(Sort) VBAで、ソートを行うには、S …

カレントフォルダの変更・確認
カレントフォルダ(CurDir 関数、ChDir ステートメント、ChDrive ステートメント)

カレントフォルダ カレントフォルダとは、ブックを開いたり保存するときに既定で参照 …