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

  関連記事

色の設定(Color プロパティ・RGB 関数)

Color プロパティ Color プロパティは、指定したオブジェクトの色を取得 …

日付時刻:文字列から日付・時刻データを取得( DateValue 関数、TimeValue 関数 )

DateValue 関数(文字列から日付データを取得) 【書式】 date_va …

VBAの変数宣言

VBAの変数宣言について 変数を暗黙的に宣言する エクセル VBA の場合、明示 …

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

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

Mid ステートメント 例
文字列:文字列変数内の一部を置き換える(Mid・MidB ステートメント)

Mid・MidB ステートメントの使い方 【書式】 { Mid | MidB } …

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

IsEmpty 関数の使い方 【書式】 result = IsEmpty ( e …

DoEvents 関数 UserForm の設定
CPU に制御を移す(DoEvents 関数)

DoEvents 関数 DoEvents 関数を実行すると、CPU に制御を移し …

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

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

Choose 関数 例01
指定した数値に対応する選択肢の値・数式を返す(Choose 関数)

Choose 関数 の使い方 Choose 関数は、指定されたインデックス値(1 …

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

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