参考サイト
Sub macro1()
'RegExpオブジェクトの作成
Dim reg As Object
Set reg = CreateObject("VBScript.RegExp")
'正規表現の指定
With reg
.Pattern = "[0-9]" 'パターンを指定
.IgnoreCase = False '大文字と小文字を区別するか(False)、しないか(True)
.Global = True '文字列全体を検索するか(True)、しないか(False)
End With
Dim str1 As String, str2 As String
str1 = "東京1大阪2名古屋3"
str2 = reg.Replace(str1, ",") '指定した正規表現を第2引数の区切り文字に置換
MsgBox str2
End Sub
参考サイト
Sub
Sample2()
Dim
Re
As
Object
Dim
Mc
As
Object
Dim
msg
As
String
Dim
i
As
Long
Set
Re = CreateObject(
"VBScript.RegExp"
)
With
Re
.Pattern =
"[A-Z,a-z,0-9]+[.][o][m]"
.Global =
True
Set
Mc = .Execute(Cells(1, 1).Value)
End
With
With
Mc
If
.Count > 0
Then
For
i = 0
To
.Count - 1
msg = msg & i + 1 &
"番目の文字列:"
& _
.Item(i).Value & vbLf
Next
Else
msg =
"該当なし"
End
If
End
With
If
msg =
"該当なし"
Then
MsgBox msg, vbCritical
Else
MsgBox msg, vbInformation
End
If
End
Sub
参考サイト
RegExpオブジェクトのプロパティとメソッド
Patternプロパティ | 正規表現で使用するパターンを設定します。.*や[A-Z]、(田中|鈴木)などの文字列です。 |
IgnoreCaseプロパティ | 大文字と小文字を区別しないときにTrueを設定します。デフォルトはFalseです。 |
Globalプロパティ | 検索対象の文字列内で、文字列全体を検索するにはTrueを設定します。デフォルトではFalseです。 |
Testメソッド | 正規表現によるマッチングを行います。パターンと一致した場合はTrueを返します。 |
Replaceメソッド | 検索文字列の中で正規表現によるマッチングを行い、成功するとそのマッチした部分を置換文字列と置き換えます。 |
Executeメソッド | Testメソッドはマッチングが成功したかどうかをTrue/Falseで返します。Executeメソッドは、マッチングの結果をMatchesコレクションとして返します。MatchesコレクションはMatchオブジェクトの集合です。 |
MatchesコレクションはExecuteメソッドによって返されるコレクションです。Matchesコレクションには0個以上のMatchオブジェクトが含まれます。つまり、Executeメソッドの結果返ってきたMatchesコレクションにMatchオブジェクトが存在しなかったら、マッチングは失敗したということです。
Matchesコレクションのプロパティとメソッド
Countプロパティ | Matchesコレクション内でMatchオブジェクトの個数を返します。これを調べるとマッチングの成功/失敗がわかります。 |
Itemプロパティ | いわゆる一般的なコレクションのItemプロパティです。普通はMatches(1)のようにアクセスするので使うことはないでしょう。 |
Matchオブジェクトのプロパティとメソッド
FirstIndexプロパティ | 最初にマッチングに成功した位置を返します。文字列の先頭は0から始まります。 |
Lengthプロパティ | マッチした文字列の長さを返します。 |
Valueプロパティ | マッチした文字列を返します。 |
主なメタ文字とエスケープシーケンス
title | title |
---|
^ | 文字列の先頭 |
$ | 文字列の末尾 |
\n | 改行 |
. | 改行を除く任意の1文字 |
* | 直前のパターンの0回以上の繰り返し |
+ | 直前のパターンの1回以上の繰り返し |
? | 直前のパターンが0回または1回現れる |
\d | 任意の数値 |
\D | 任意の数値以外の文字 |
\s | 任意のスペース文字 |
\S | 任意のスペース以外の文字 |
() | パターンのグループ化 |
| | パターンの論理和 |
[] | キャラクタクラス |