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 | 
実行結果
関連記事
-  
              
- 
      XlThemeColor 列挙型XlThemeColor 列挙 定数 値 内容 xlThemeColorDark … 
-  
              
- 
      文字列:文字列の空白を削除(Trim 関数, LTrim関数, RTrim関数)Trim 関数・LTrim 関数・RTrim 関数の使い方 【書式】 <先頭と末 … 
-  
              
- 
      xlFileFormat 列挙型xlFileFormat 列挙型 Workbook.SaveAs メソッド の引 … 
-  
              
- 
      式を評価し、結果(真・偽)に応じた式・値を返す(IIf 関数)IIf 関数 の使い方 IIf(アイイフ)関数は、式を評価してその結果(真・偽) … 
-  
              
- 
      ユーザー定義定数(Const ステートメント)定数を使う ユーザー定義の定数を使用するには、Const ステートメントを使って … 
-  
              
- 
      指定した数のスペースを挿入する(Spc 関数)指定した数のスペースを挿入 指定した数のスペースを挿入するには、Spc 関数を使 … 
-  
              
- 
      配列(宣言・要素数の変更について)配列の宣言 【書式】※ 配列の宣言 <Type 型の静的配列(固定長配列)の宣言 … 
-  
              
- 
      文字列:定数(改行・タブ)改行・タブの定数 これらの定数は、使用前に定義する必要はありません。コード中のど … 
-  
              
- 
      フォント 太字・斜体(Bold, Italic, FontStyle プロパティ)太字の設定(Bold プロパティ) Bold プロパティは、フォントを太字にする … 
-  
              
- 
      変数が日付型かどうかをチェックする( IsDate 関数 )IsDate 関数の使い方 【書式】 result = IsDate( expr … 
 
        


