よって表現されるASCII文字にマッチします。よって表現されるASCII文字にマッチします。よって表現されるASCII文字にマッチします。文字セットに含まれている任意の1文字にマッチします。文字セットに含まれていない任意の1文字にマッチします。以外の任意の文字にマッチします。単語に使用される任意の文字にマッチします。[a-zA-Z_0-9]と等価。単語に使用される文字以外の任意の文字にマッチします。[^a-zA-Z_0-9]と等価。任意の数字にマッチします。任意の数字以外の文字にマッチします。任意のスペース文字にマッチします。\t\r\n\v\f]と等価。任意の非スペース文字にマッチします。\t\r\n\v\f]と等価。x個の直前の文字にマッチします。正規表現のx個以上の直前の文字にマッチします。正規表現のx個以上、y個以下の直前の文字にマッチします。ゼロ個または1個の直前の文字にマッチします。ゼロ個以上の直前の文字にマッチします。1個以上の直前の文字にマッチします。複数の句をグループ化して、1つの句を作成します。ネストすることができます。選択は、複数の句を1つの正規表現にまとめ、これらのうちの任意の句にマッチします。n番目の括弧で囲まれた句にマッチします。5.5(バージョンは環境によります、1.0もありますが機能が違います。object.Test(string)パターンに一致する文字列が検索されたらTrueを返します。見つからないとFalseを返します。object.Execute(string)指定された文字列を正規表現で検索します文字列内で見つかった文字列ごとに存在するMatchオブジェクトを含む、Matchesコレクションを返します。abc@def.com※A1セルから配置されているものとします。上記表の対象文字の妥当性を判定し、結果に"OK"、"NG"を表示します。SubRegExp関連のオブジェクトMatchesコレクションMatchesコレクションには、個別のMatchオブジェクトが格納されます。このコレクションは、RegExpブジェクトのExecuteメソッドによってのみ作成可能です。オブジェクトのプロパティと同様、Matchesコレクションのプロパティは読み取り専用です。オブジェクトの数を含んでいる読み取り専用の値。オブジェクトにランダムにアクセスできるようにする読み取り専用の値。オブジェクトのExecuteメソッドによってのみ作成が可能です。このメソッドが実際に返すのは、Matchオブジェクトのコレクションです。Matchオブジェクトのプロパティは、すべて読み取り専用です。元の文字列内のマッチが起こった位置を含んでいる読み取り専用の値。マッチした文字列の合計の長さを含んでいる読み取り専用の値。マッチした値またはテキストを含んでいる読み取り専用の値。オブジェクトにアクセスするときの既定値でもあります。SubMatchesコレクションSubMatchesコレクションには、個別のサブマッチ文字列が格納されます。Executeメソッドによってのみ作成可能です。SubMatchesコレクションのプロパティ(Count,Item)は、すべて読み取り専用です。Sub上記では、文字列をアルファベットと数値に分割して、順次メッセージボックスに表示しています。Subとても簡単な例ですが、簡単であるからこそ、正規表現の便利さが実感できると思います。$numberのキャプチャグループ大文字小文字を区別せずに、アルファベット+数値の場合のみ数値を消しています。Sub$numberを使う事で、キャプチャグループに一致する部分文字列を置換文字列に含めることが出来ます。上記の場合、キャプチャグループは、([A-ZA-Z]+)と([0-9]+)の2つになります。([A-ZA-Z]+)が$1、([0-9]+)が$2$1$2を$1に置換することでアルファベット+数値の数値部分を消しています。先読み:肯定先読み、否定先読み正規表現を極めようとするとかなり大変ですし、それらは専門のサイトをご利用ください。VBAでは筆者が確認できる範囲では一般的に言われる後読みに(<=)は対応していません。簡単な使用例で説明します。m.ValueNextこれは、abcdefとと出力されます。○(?=△)これで、後に△のある○とマッチします。上の例では、[^_]これは_以外の文字、[^_]+(?=_)これで、後が"_"である"abc"と"def"がマッチします。?=これを?:このように:にすると、後ろの文字も含んだ文字列が取得されます。したがって、abc_def_と出力されます。以上が肯定先読みになります。否定先読みもあります。Sub○(?!△)これで、後が△ではない○とマッチします。上の結果は、accadcこのようになります。?!\dなので、後ろが数値以外とマッチします。後ろが数値のabcは対象外となります。数式の関数の使用回数、関数名を配列で返すツイッターで出したエクセルVBAのお題です。セルに入っている計算式に使われている関数(ユーザー定義含む)を数えてみましょう、というお題になります。【VBAお題】セルに計算式が入っています。Diaryさんの正規表現クイズツイッターで出題された全24問の正規表現に関する問題です。解答ツイートでは図解で詳しく解説されています。見るTRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)無効な前方参照か、コンパイルされていない種類への参照です。Case)|VBA入門9.メッセージボックス(MsgBox関数)|VBA入門10.マクロとは?VBAとは?VBAでできること|VBA入門ホームマクロVBA応用編マクロVBA技術解説VBAで正規表現を利用する(RegExp)このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。アクセスランキングサイトマップ事業案内お問い合わせホームマクロVBA応用編マクロVBA技術解説VBAで正規表現を利用するこのサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。