Visual Basic for Applications:
Usando expressões regulares

Como:

Para usar expressões regulares no VBA, você primeiro precisa habilitar a biblioteca Microsoft VBScript Regular Expressions. No editor do VBA, vá em Ferramentas -> Referências, e então marque Microsoft VBScript Regular Expressions 5.5.

Aqui está um exemplo básico para encontrar se um padrão existe dentro de uma string:

Sub FindPattern()
    Dim regex As Object
    Set regex = CreateObject("VBScript.RegExp")

    Com regex
        .Global = True
        .IgnoreCase = True
        .Pattern = "\bis\b"  ' Procura pela palavra "is"
    End Com
    
    Dim testString As String
    testString = "This is a test string."
    
    If regex.Test(testString) Then
        MsgBox "Padrão encontrado."
    Else
        MsgBox "Padrão não encontrado."
    End If
End Sub

Para substituir um padrão em uma string:

Sub ReplacePattern()
    Dim regex As Object, replacedString As String
    Set regex = CreateObject("VBScript.RegExp")
    
    Com regex
        .Global = True
        .IgnoreCase = False
        .Pattern = "\s"  ' Corresponde a qualquer caractere de espaço em branco
    End Com
    
    replacedString = regex.Replace("This is a test string.", "_")
    MsgBox replacedString  ' Resultado: "This_is_a_test_string."
End Sub

Aprofundamento

A inclusão de expressões regulares em linguagens de programação muitas vezes remonta a ferramentas Unix dos anos 1970. O VBA integrou regex por meio da biblioteca VBScript Regular Expressions, destacando sua importância em tarefas de processamento de texto mesmo em aplicações não tipicamente associadas à manipulação intensa de texto como Excel ou Access.

Apesar de seu poder, regex no VBA às vezes pode ser menos intuitivo ou performático comparado a implementações mais modernas em linguagens como Python ou JavaScript. Por exemplo, o módulo re do Python oferece suporte extensivo para grupos nomeados e recursos de correspondência de padrões mais sofisticados, proporcionando uma abordagem mais limpa e potencialmente mais legível. No entanto, ao trabalhar dentro do ecossistema VBA, as expressões regulares permanecem uma ferramenta inestimável para tarefas que requerem correspondência de padrões ou manipulação de texto. O compromisso de eficiência é frequentemente negligenciável à luz da conveniência e das capacidades que regex traz para a mesa ao lidar com strings em aplicações do Office.