Tag Archives: Regular Expression

Excel – Criando uma função usando Regular Expression

Regex

No mundo da programação, pelo menos nos últimos anos, as Regular Expressions tornaram um utilitário quase indispensável para análise de textos, seja qual for a linguagem. Diante deste cenário, é um pouco estranho o Excel como ferramenta de uso geral para análise não tenha incluído essa funcionalidade.

Fica como sugestão para a versão 2010, se é que ela já não tem. E se a Microsoft não faz, a gente faz, certo?

Para fazer uso do mecanismo de Regular Expressions nas suas planilhas de Excel, crie um novo módulo no VBA e cole o seguinte código:

Public Function RegExp(Text As String, Pattern As String) As Boolean
    Dim oRegEx As Object
    Set oRegEx = CreateObject("VBScript.RegExp")
    With oRegEx
        .Pattern = Pattern
        RegExp = .Test(Text)
    End With
    Set oRegEx = Nothing
End Function

Em detalhes, a função faz uso da biblioteca VBScript.RegExp disponível no Windows. Como ele é acessível somente por VBA, é possível disponibilizar criar uma função personalizada para usufruir desta funcionalidade. Um exemplo de chamada seria como na planilha a seguir:

A
B
1 Email webmaster@tomasvaquez.com.br
2 Expressão ^[\w-\.]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,3}$
3 Válido (=RegExp(B1;B2)) VERDADEIRO

No caso acima, a Regular Expression utilizada é para validar se o email é válido ou não, pelo menos seu formato de texto.

Para saber mais sobre Regular Expressions:

http://www.regular-expressions.info/

Referências:

http://www.eggheadcafe.com/software/aspnet/30273396/excel-to-check-for-regula.aspx

C# – Como remover tags HTML/XML de uma String

Essa valeu de tão simples.

Na necessidade de precisar limpar as tags HTML de uma string para apresenta-la em um local que não um browser ou componente que pudesse interpretá-lo, precisei construir uma rotina para a tarefa. Como de costume, programador pensa sempre na solução mais difícil. Mas depois de um pouco de preguiça saudável, não foi complicado decidir que através de uma simples Regular Expression o trabalho poderia ser feito facilmente. Antes mesmo de precisar queimar neurônios pensando em uma, resolvi garimpar no um pouco na Web. Em poucos segundos, o resultado era o código abaixo:

public string Strip(string text)
{
    return Regex.Replace(text, @”<(.|\n)*?>”, string.Empty);
}

O autor da proeza é Ali Raza.

Bom proveito!