Excel 2012 で VBA を使用して、セルの内容を正規表現に一致させていますが、機能していません。
次のコードを実行しています。
Dim r1 As New RegExp
r1.Pattern = "(.)(\s+)?((?:[a-z][a-z]+))(\s+)(\d+)?"
r1.IgnoreCase = True
For i = 1 To 5
If r1.Test(Sheet3.Cells.Item(i, 5)) = True Then
MsgBox ("MATCH: " & Sheet3.Cells.Item(i, 5))
Else
MsgBox ("NOT MATCH: " & Sheet3.Cells.Item(i, 5))
End If
Next i
したがって、「A Person 01」という文字列には一致するはずですが、「A Person abc 01」には一致しません。
しかし、expressin は文字列の後半にあるため、両方に一致しています。文字列全体のみに一致させるにはどうすればよいですか? したがって、セルの内容全体が次の場合にのみ一致します: 1 つの文字、スペース、単語、スペース、数字
どんな助けでも大歓迎です!