Este artigo passo a passo descreve como criar expressões regulares e como usar expressões regulares para determinar se cadeias de caracteres correspondem a padrões específicos. Expressões regulares permitem simples análise e correspondência de cadeias de caracteres para um padrão específico. Se você usar os objetos que estão disponíveis na biblioteca Microsoft VBScript Regular Expressions 5.5, compara uma seqüência de caracteres com um padrão específico, substituir um padrão de seqüência de caracteres por outra seqüência de caracteres ou recuperar apenas partes de uma seqüência de caracteres formatada. Este artigo descreve como construir um padrão para analisar uma cadeia de caracteres que contém várias instâncias do mesmo padrão.
Requisitos
A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs que você precisa:
- Microsoft Visual Basic 6.0
Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
- Visual Basic 6.0
- Sintaxe de expressão regular
Usando expressões regulares para corresponder a um padrão
No Visual Basic 6.0, o objeto
RegExp usa expressões regulares para corresponder a um padrão. As propriedades a seguir são fornecidas pelo
RegExp . Essas propriedades definir o padrão para comparar seqüências de caracteres que são passadas para a instância
RegExp :
- padrão : uma seqüência que define a expressão regular.
- IgnoreCase : uma propriedade Boolean que indica se você deve testar a expressão regular contra todas as correspondências possíveis em uma seqüência de caracteres.
- global : define um valor booleano ou retorna um valor Boolean que indica se um padrão deve corresponder a todas as ocorrências em uma seqüência de pesquisa inteiro, ou se um padrão deve corresponder apenas a primeira ocorrência.
RegExp fornece os seguintes métodos para determinar se uma seqüência de caracteres coincide com um padrão específico de uma expressão regular:
- teste : Retorna um valor Boolean que indica se a expressão regular com êxito pode ser comparada com a seqüência de caracteres.
- Executar : Retorna um objeto MatchCollection que contém um objeto Coincidir para cada correspondência bem-sucedida.
Para coincidir com uma seqüência para uma expressão regular, execute estas etapas:
- Definir a expressão regular utilizando o método padrão de RegExp objeto.
- Obter a seqüência para examinar com o padrão.
- Defina a propriedade IgnoreCase do objeto RegExp como True .
- Passar a seqüência que você obteve na etapa 2 como um argumento para o método execute do RegExp objeto.
- Atribuir o valor de retorno de Executar método ao objeto MatchCollection .
O objeto MatchCollection contém informações sobre as seqüências correspondentes.
Observação Você também pode usar o método de
teste para determinar se a seqüência de caracteres coincide com a expressão regular específica.
Exemplo passo a passo
- Inicie o Microsoft Visual Basic 6.0.
- No menu arquivo , clique em New Project .
- Clique em Standard Exe na caixa de diálogo New Project e, em seguida, clique em OK .
Por padrão, é criado o Form1. - No menu Project , clique em referências .
- Clique duas vezes em Microsoft VBScript Regular Expressions 5.5 e em seguida, clique em OK .
- Na caixa de ferramentas, clique duas vezes em CommandButton .
Por padrão o Command1 é adicionado ao formulário. - Clique duas vezes em Command1 para abrir o código de janela.
- Cole o seguinte código no manipulador de eventos Command1_Click :
MsgBox(TestRegExp("is.", "IS1 is2 IS3 is4")) Observação neste exemplo, o padrão seja é verificado em relação a cadeia "IS1 is2 IS3 is4". Você pode usar o período de caractere especial (. ) para atuar como um caractere curinga, para que um caractere adicional é correspondente e exibido com o padrão de pesquisa. Se você adicionar dois pontos ao padrão de pesquisa, você verá dois caracteres adicionais. Se você não usar nenhum período, você só verá o padrão de pesquisa. - Adicione a função seguinte após o manipulador de eventos Command1_click :
Function TestRegExp(myPattern As String, myString As String)
'Create objects.
Dim objRegExp As RegExp
Dim objMatch As Match
Dim colMatches As MatchCollection
Dim RetStr As String
' Create a regular expression object.
Set objRegExp = New RegExp
'Set the pattern by using the Pattern property.
objRegExp.Pattern = myPattern
' Set Case Insensitivity.
objRegExp.IgnoreCase = True
'Set global applicability.
objRegExp.Global = True
'Test whether the String can be compared.
If (objRegExp.Test(myString) = True) Then
'Get the matches.
Set colMatches = objRegExp.Execute(myString) ' Execute search.
For Each objMatch In colMatches ' Iterate Matches collection.
RetStr = RetStr & "Match found at position "
RetStr = RetStr & objMatch.FirstIndex & ". Match Value is '"
RetStr = RetStr & objMatch.Value & "'." & vbCrLf
Next
Else
RetStr = "String Matching Failed"
End If
TestRegExp = RetStr
End Function - No menu Executar , clique em Iniciar para executar o aplicativo.
- Clique em Command1 .
É exibida uma caixa de mensagem que retorna todas as ocorrências de é a seqüência de caracteres IS1 is2 IS3 is4 .
Para obter mais informações, visite os seguintes sites da MSDN:
ID do artigo: 818802 - Última revisão: segunda-feira, 26 de novembro de 2007 - Revisão: 3.1
A informação contida neste artigo aplica-se a:
- Microsoft Visual Basic Enterprise Edition for Windows 6.0
- Microsoft Visual Basic 6.0 Learning Edition
- Microsoft Visual Basic 6.0 Professional Edition
| kbmt kbprogramming kbstring kbhowtomaster KB818802 KbMtpt |
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo:
818802
(http://support.microsoft.com/kb/818802/en-us/
)