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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

定数(改行・タブ) 使用例
文字列:定数(改行・タブ)

改行・タブの定数 これらの定数は、使用前に定義する必要はありません。コード中のど …

変数が日付型かどうかをチェックする( IsDate 関数 )

IsDate 関数の使い方 【書式】 result = IsDate( expr …

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

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

日付時刻:日付時刻から情報取得( DatePart 関数 )

DatePart 関数(日付・時刻の値から情報を取得) 【書式】 result …

フォントサイズ(Size,StandardFontSize)例
フォントサイズ(Size プロパティ・StandardFontSize プロパティ)

フォントサイズを取得・設定する(Size プロパティ) Size プロパティは、 …

文字列:文字列の一部を別の文字列で置換(Replace 関数)

Replace 関数の使い方 【書式】 result = Replace ( s …

RSet 関数・LSet 関数 例1
文字列:文字列変数の値を右詰めまたは左詰めにする(RSet ステートメント・LSet ステートメント)

RSet ステートメント・LSet ステートメント 【書式】 < RSet ステ …

演算子の優先順位
VBA の演算子(演算子の優先順位)

演算子の優先順位 演算子の優先順位とは、1つの式の中に演算子が複数ある場合、どの …

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

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

式の値に応じて多分岐を行う(Switch 関数)

Switch 関数 の使い方 Switch 関数は、「式・値」を対にして指定して …