VBA で正規表現を使う(RegExp オブジェクトのプロパティ)
2018/03/24
RegExp オブジェクトのプロパティ
RegExp オブジェクトの詳細に関しては、VBA で正規表現を使う(RegExp オブジェクト)、メソッドの詳細に関しては、RegExp オブジェクトのメソッド を参照してください。
Pattern プロパティ
検索される正規表現のパターンを設定します。値の取得も可能です。
object.Pattern = SearchString
引数・戻り値
- object ・・・ 対象となる RegExp オブジェクトを指定します。
 - SearchString ・・・ 検索される文字列式を指定します。正規表現で使用できる文字等に関しては、VBA で正規表現を使う(RegExp オブジェクト) を参照してください。
 
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  | 
						    ' 参照設定:Microsoft VBScript Regular Expressions 5.5     Dim re As RegExp     Set re = New RegExp     'アルファベット(大文字・小文字)にマッチする正規表現     re.Pattern = "[a-zA-Z]+"     '「山」または「川」で始まり「子」で終わる文字列にマッチする正規表現     re.Pattern = "^(山|川).*子$"     '「bb」で始まり3文字目は「b」以外の文字列にマッチする正規表現     re.Pattern = "^b{2}[^b]."  | 
					
IgnoreCase プロパティ
パターン検索で大文字と小文字を区別するかどうかを設定します。
object.IgnoreCase = boolean
引数・戻り値
- object ・・・ 対象となる RegExp オブジェクトを指定します。
 - boolean ・・・ パターン検索するときに、大文字・小文字を区別するかどうかを指定します。True に設定すると大文字・小文字を区別しなくなります。既定値は、False です。
 
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37  | 
						Sub Sample_RegExp_IgnoreCase() ' 参照設定:Microsoft VBScript Regular Expressions 5.5     Dim re As RegExp     Dim i As Long     Dim myStr1 As String     Dim myStr2 As String     Dim str(1 To 3) As String     Set re = New RegExp     myStr1 = "IgnoreCase = False(大文字・小文字を区別する)"     myStr2 = "IgnoreCase = True(大文字・小文字を区別しない)"     str(1) = "abcdef"     str(2) = "ABCDE"     str(3) = "ABCdef"     re.Pattern = "^[a-z]+$"     re.IgnoreCase = False     For i = 1 To 3         myStr1 = myStr1 & vbCrLf & _                 str(i) & vbTab & re.Test(str(i))     Next i     re.IgnoreCase = True     For i = 1 To 3         myStr2 = myStr2 & vbCrLf & _                 str(i) & vbTab & re.Test(str(i))     Next i     MsgBox myStr1 & vbCrLf & vbCrLf & myStr2 End Sub  | 
					
実行結果
Global プロパティ
検索文字列全体についてのパターンとの一致を検索するかどうかを設定します。
object.Global = boolean
引数・戻り値
- object ・・・ 対象となる RegExp オブジェクトを指定します。
 - boolean ・・・ ブール型(Boolean)の値を指定します。検索文字列全体についてのパターンとの一致を検索する場合は、True、最初の一致だけを検索する場合は、False(既定値)を指定します。
 
    
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39  | 
						Sub Sample_RegExp_Global() ' 参照設定:Microsoft VBScript Regular Expressions 5.5     Dim re As RegExp     Dim mc As MatchCollection     Dim m As Match     Dim myStr1 As String     Dim myStr2 As String     Dim orgStr As String     Dim i As Long     Set re = New RegExp     myStr1 = "【Global = True の場合】" & vbCrLf     myStr2 = "【Global = False の場合】" & vbCrLf     orgStr = "AAA BBB ccc DDD eee"     re.Pattern = "[A-Z]{3}"     re.IgnoreCase = False     re.Global = True     Set mc = re.Execute(orgStr)     For i = 0 To mc.Count - 1         Set m = mc.Item(i)         myStr1 = myStr1 & m.Value & vbCrLf     Next i     re.Global = False     Set mc = re.Execute(orgStr)     For i = 0 To mc.Count - 1         Set m = mc.Item(i)         myStr2 = myStr2 & m.Value & vbCrLf     Next i     MsgBox "検索された文字列" & vbCrLf & myStr1 & vbCrLf & myStr2 End Sub  | 
					
実行結果
MultiLine プロパティ
文字列を複数行として扱うかどうかを設定します。
object.MultiLine = boolean
引数・戻り値
- object ・・・ 対象となる RegExp オブジェクトを指定します。
 - boolean ・・・ ブール型(Boolean)の値を指定します。文字列を複数行として扱う場合は、True を指定します。この場合、各行の先頭や末尾で、“^” や “$” がマッチするようになります。初期値は False に設定されています。
 
    
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30  | 
						Sub Sample_RegExp_MultiLine() ' 参照設定:Microsoft VBScript Regular Expressions 5.5     Dim re As RegExp     Dim myStr1 As String     Dim myStr2 As String     Dim orgStr As String     Set re = New RegExp     myStr1 = "【Global = True の場合】" & vbCrLf     myStr2 = "【Global = False の場合】" & vbCrLf     orgStr = "ABCDE" & vbCrLf     orgStr = orgStr & "FGHIJ" & vbCrLf     orgStr = orgStr & "KLMNO"     re.Pattern = "^F"     re.MultiLine = False     myStr1 = "MultiLine = False の場合" & vbTab & re.Test(orgStr)     re.MultiLine = True     myStr2 = "MultiLine = True の場合" & vbTab & re.Test(orgStr)     MsgBox myStr1 & vbCrLf & myStr2 End Sub  | 
					
実行結果
関連記事
-  
            
              - 
      
VBA の演算子(論理演算子:And、Eqv、Imp、Not、Or、Xor)
論理演算子 論理演算を行うときに使用する演算子で、以下の 6 種類があります。 …
 
-  
            
              - 
      
RGB 値一覧表(XlRgbColor 列挙型)
RGB 値(XlRgbColor 列挙型)一覧表 RGB 関数を使用して、出力さ …
 
-  
            
              - 
      
取り消し線を設定する(Strikethrough プロパティ)
取り消し線を設定する(Strikethrough プロパティ) Striketh …
 
-  
            
              - 
      
XlThemeColor 列挙型
XlThemeColor 列挙 定数 値 内容 xlThemeColorDark …
 
-  
            
              - 
      
日付時刻:日付時刻から情報取得( DatePart 関数 )
DatePart 関数(日付・時刻の値から情報を取得) 【書式】 result …
 
-  
            
              - 
      
オブジェクトの書式をクリアする(ClearFormats メソッド)
ClearFormats メソッド 対象となるオブジェクトの書式(スタイル)を初 …
 
-  
            
              - 
      
VBA の演算子(比較演算子)
比較演算子 比較演算子による演算の結果は「真」の場合は「True」、「偽」の場合 …
 
-  
            
              - 
      
Option Compare ステートメント
Option Compare ステートメントの使い方 【書式】 Option C …
 
-  
            
              - 
      
変数がEmpty 値かどうかをチェックする( IsEmpty 関数 )
IsEmpty 関数の使い方 【書式】 result = IsEmpty ( e …
 
-  
            
              - 
      
色を設定する(QBColor 関数)
QBColor 関数 QBColor 関数は、指定した色番号に対応するRGB コ …
 
        

