ExcelWork.info

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

VBA で正規表現を使う(RegExp オブジェクトのメソッド)

      2018/03/25

RegExp オブジェクトのメソッド

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


Test メソッド

指定された文字列を正規表現で検索した結果、パターンに一致する文字列が検索されたかどうかを判定します。


【書式】

object.Test ( string )


引数・戻り値

  • object  ・・・  対象となる RegExp オブジェクトを指定します。
  • string  ・・・  正規表現による検索の対象となるテキスト文字列を指定します。
  • 戻り値  ・・・  ブール型(Boolean)。パターンに一致する文字列が見つかると True、見つからないと False を返します。


実行結果

RegExp オブジェクト Test メソッド


Replace メソッド

正規表現で検索して見つかった文字列を置換します。


【書式】

object.Replace ( string1, string2 )


引数・戻り値

  • object  ・・・  対象となる RegExp オブジェクトを指定します。
  • string1  ・・・  検索および置換の対象となるテキスト文字列を指定します。
  • string2  ・・・  置換するテキスト文字列を指定します。
  • 戻り値  ・・・  正規表現で検索し、マッチした文字列を引数 string2 で指定した文字列に置き換えた文字列を返します。マッチするものが見つからなかった場合は、元の文字列(引数 string1 で指定した文字列)を返します。


実行結果

RegExp オブジェクト Replace メソッド


Execute メソッド

正規表現で検索した結果を Matches コレクションとして返します。


【書式】

object.Execute ( string )


引数・戻り値

  • object  ・・・  対象となる RegExp オブジェクトを指定します。
  • string  ・・・  正規表現による検索の対象となるテキスト文字列を指定します。


実行結果

RegExp オブジェクト Execute メソッド



Matches コレクション


Count プロパティ


【書式】

<取得>
object.Matches.Count


引数・戻り値

  • object  ・・・  対象となる RegExp オブジェクトを指定します。
  • 戻り値  ・・・  Execute メソッドにより取得した Matche オブジェクトの数。


Item プロパティ


【書式】

<取得>
object.Matches [.Item] (number)


引数・戻り値

  • object  ・・・  対象となる RegExp オブジェクトを指定します。
  • number  ・・・  インデックス値(0 から Matches.Count – 1 までの数値)を指定します。
  • 戻り値  ・・・  Execute メソッドにより取得した Matche オブジェクト



Matche オブジェクトのプロパティ等


FirstIndex プロパティ

マッチした部分の位置を取得します。


【書式】

<取得>
object.FirstIndex


引数・戻り値

  • object  ・・・  対象となる Matche オブジェクトを指定します。
  • 戻り値  ・・・  検索文字列の最初の位置を0とするオフセット値。


Length プロパティ

マッチした文字列の長さを取得します。


【書式】

<取得>
object.Length


引数・戻り値

  • object  ・・・  対象となる Matche オブジェクトを指定します。


Value プロパティ

マッチした文字列を取得します。


【書式】

<取得>
object.Value


引数・戻り値

  • object  ・・・  対象となる Matche オブジェクトを指定します。


SubMatches コレクション

正規表現で検索を実行すると、サブ条件が取得を示す () (カッコ)で囲まれている場合にサブマッチ文字列が 0 個以上作成されます(SubMatches コレクション)。SubMatches コレクションの各項目へは、SubMatches(number) の形でアクセスします。


【書式】

<取得>
object.SubMatches( number )


引数・戻り値

  • object  ・・・  対象となる Matche オブジェクトを指定します。
  • number  ・・・  0 以上 SubMatches.Count -1 までのインデックス値を指定します。
  • 戻り値  ・・・  SubMatches コレクション。SubMatches コレクションの各項目は、正規表現によって検索および取得される文字列です。


実行結果

RegExp オブジェクト Matches コレクション



正規表現のパターン例


検索内容 正規表現のパターン例
メールアドレス ^([\w]+)([\w\.-]+)@([\w_\-]+)\.([\w_\.\-]*)[a-z][a-z]$
HTMLのタグ <(.*)>.*<\/\1>
ひらがな(5文字) [あ-ん]{5}
カタカナ(3文字以上) [ア-ン]{3,}
半角カタカナ(5文字以下) [ヲ-゚]{1,5}
半角英数(5文字以上10文字以下) [a-zA-Z0-9]{5,10}
郵便番号 ^(\d{3})-(\d{4})$
電話番号(市外局番含む) ^0(\d{1}-\d{4}|\d{2}-\d{3}|\d{3}-\d{2}|\d{4}-\d{1})-\d{4}$
電話番号(携帯) ^0[7|8|9|]0-\d{4}-\d{4}$


 - VBA基本 , , , , , , , , , ,

Message

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

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

  関連記事

引数が省略されたかどうかをチェックする( IsMissing 関数 )

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

データ型を調べてそのデータ型を示す文字列を返す(TypeName 関数)

TypeName 関数 の使い方 TypeName 関数は、引数に、データ型を調 …

指定した値を16進数で表記した文字列に変換する(Hex 関数)

Hex 関数 の使い方 【書式】 result = Hex ( expressi …

VBA の演算子(論理演算子:And、Eqv、Imp、Not、Or、Xor)

論理演算子 論理演算を行うときに使用する演算子で、以下の 6 種類があります。 …

日付時刻:日付時刻データを計算( DateAdd 関数 )

DateAdd 関数(日付・時刻の値を加算・減算結果を取得) 【書式】 resu …

Chr 関数 例
文字列:指定した文字コードに対応する文字を返す(Chr 関数)

Chr 関数の使い方 【書式】 result = Chr ( code ) 引数 …

指定した文字列を数値に変換する(Val 関数)

Val 関数 の使い方 Val 関数は、指定した文字列に含まれる数字を数値として …

ADO Stream オブジェクト テキスト(UTF-8)読み込み
テキストファイル(UTF-8)を読み込み、書き出し(ADODB.Stream)

Stream オブジェクト ADO(ActiveX Database Objec …

変数が数値型かどうかをチェックする( IsNumeric 関数 )

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

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

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