Visual Studio 2017 を使用することをお勧めします

Pattern プロパティ

検索される正規表現のパターンを設定します。値の取得も可能です。

object.Pattern [= "searchstring"]

引数

object
必ず指定します。RegExp オブジェクト変数を指定します。
searchstring
省略可能です。検索される文字列式を指定します。Settings セクションの表で定義された正規表現の文字をどれでも使用できます。

設定値

正規表現のパターンの記述には、特別な文字およびエスケープ シーケンスが使用されます。次の表は、正規表現で使用できる文字およびエスケープ シーケンスの一覧です。この表では、簡単な使用例も含めて説明します。

文字内容
\ 次に続く文字が特別な文字またはリテラルであることを示します。たとえば、"n" は "n" という文字と一致します。"\n"は、改行文字と一致します。"\\" は、"\" と一致します。"\(" は "(" と一致します。
^ 入力の開始と一致します。
$ 入力の終端と一致します。
* 直前の文字と 0 回以上一致します。たとえば、"zo*" は "z" とも "zoo" とも一致します。
+ 直前の文字と 1 回以上一致します。たとえば、"zo+" は "zoo" とは一致しますが、"z" とは一致しません。
? 直前の文字と 0 回または 1 回一致します。たとえば、"a?ve?" は "never" の "ve" に一致します。
.改行文字以外の任意の単独文字と一致します。
(pattern)引数 pattern に指定した文字と一致します。一致する文字列が見つかったら、記憶されます。一致した部分は、Matches コレクションの項目 [0]...[n] から取得できます。かっこ文字、() を指定するには、"\(" および "\)" を使用します。
x|yxy のどちらかと一致します。たとえば、"z|wood" は "z" と "wood" に一致します。"(z|w)oo" は、"zoo" と "wood" に一致します。
{n}n には、0 以上の整数を指定します。直前の文字と正確に n 回一致します。たとえば、"o{2}" は、"Bob" の "o" とは一致しませんが、"foooood" の最初の 2 つの o とは一致します。
{n,}n には、0 以上の整数を指定します。直前の文字と少なくとも n 回一致します。たとえば、"o{2,}" は、"Bob" の "o" とは一致しませんが、"foooood" のすべての o と一致します。"o{1,}" は、"o+" と同じ意味になります。"o{0,}" は、"o*" と同じ意味になります。
{n,m} m および n には、0 以上の整数を指定します。直前の文字と nm 回一致します。たとえば、"o{1,3}" は、"fooooood" の最初の 3 つの o と一致します。"o{0,1}" は、"o?" と同じ意味になります。
[xyz]文字セット。角かっこで囲まれた文字の中のいずれかと一致します。たとえば、"[abc]" は "plain" の "a" と一致します。
[^xyz]否定の文字セット。角かっこで囲まれた文字にはない任意の文字と一致します。"[^abc]" は、"plain" の "p" と一致します。
[a-z]文字の範囲。指定した範囲に含まれる任意の文字に一致します。たとえば、"[a-z]" は、"a" から "z" までの任意のアルファベットの小文字に一致します。
[^m-z]否定の文字の範囲。指定した範囲に含まれていない任意の文字に一致します。たとえば、"[^m-z]" は "m" から "z" までの範囲に含まれない任意の文字に一致します。
\b単語の境界と一致します。単語の境界とは、単語とスペースの間の位置のことです。たとえば、"er\b" は、"never" の "er" に一致します。"verb" の "er" には一致しません。
\B単語の境界ではない部分と一致します。たとえば、"ea*r\B" は、"never early" の "ear" と一致します。
\d数字と一致します。[0-9] と指定した場合と同じ意味になります。
\D数字以外の文字と一致します。[^0-9] と指定した場合と同じ意味になります。
\fフォームフィード文字と一致します。
\n改行文字と一致します。
\rキャリッジ リターン文字と一致します。
\sスペース、タブ、フォームフィードなどの任意の空白文字と一致します。"[ \f\n\r\t\v]" と指定した場合と同じ意味になります。
\S空白文字のない部分と一致します。"[^ \f\n\r\t\v]" と指定した場合と同じ意味になります。
\tタブ文字と一致します。
\v垂直タブ文字と一致します。
\w単語に使用される任意の文字と一致します。これには、アンダースコアも含まれます。"[A-Za-z0-9_]" と指定した場合と同じ意味になります。
\W単語に使用される文字以外の任意の文字と一致します。"[^A-Za-z0-9_]" と指定した場合と同じ意味になります。
\num>num には、正の整数を指定します。既に見つかり、記憶されている部分と一致します。たとえば、"(.)\1" は、連続する 2 つの同じ文字に一致します。
\nn に指定した 8 進数のエスケープ値と一致します。8 進数の値には、1 桁、2 桁、または 3 桁で指定します。たとえば、"\11" と "\011" は、両方ともタブ文字に一致します。"\0011" は、"\001" および "1" と同じ意味になります。8 進数のエスケープ値は、256 を超えることはできません。256 を超える数値を指定した場合、初めの 2 桁で値が評価されます。この表記により、正規表現で ASCII コードを使用できるようになります。
\xnn に指定した 16 進数のエスケープ値と一致します。16 進数のエスケープ値は、2 桁である必要があります。たとえば、"\x41" は、"A" に一致します。"\x041" は、"\x04" および "1"と同じ意味になります。この表記により、正規表現で ASCII コードを使用できるようになります。

解説

次のコードは、Pattern プロパティの使用例です。

Function RegExpTest(patrn, strng)
   Dim regEx, Match, Matches   ' 変数を作成します。
   Set regEx = New RegExp   ' 正規表現を作成します。
   regEx.Pattern = patrn   ' パターンを設定します。
   regEx.IgnoreCase = True   ' 大文字と小文字を区別しないように設定します。
   regEx.Global = True   ' 文字列全体を検索するように設定します。
   Set Matches = regEx.Execute(strng)   ' 検索を実行します。
   For Each Match in Matches   ' Matches コレクションに対して繰り返し処理を行います。
RetStr = RetStr & "一致する文字列が見つかった位置は、"
RetStr = RetStr & Match.FirstIndex & " です。一致した文字列は、"
RetStr = RetStr & Match.Value & " です。" & vbCRLF
   Next
   RegExpTest = RetStr
End Function
MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))

必要条件

バージョン 5

参照

Global プロパティ | IgnoreCase プロパティ

対象: RegExp オブジェクト

表示: