Cómo utilizar expresiones regulares en VB6.0
Después de hacer referencia a Microsoft?VBScript?Regular?Expressions?5.5?, puede declarar objetos relacionados regulares. Hay tres objetos principales: RegExp, MatchCollection y Match.
1.?RegExp Este es el objeto principal de VB que utiliza patrones de coincidencia de expresiones regulares. Proporciona propiedades para configurar el patrón utilizado para comparar cadenas pasadas a instancias RegExp. ?Proporciona métodos para determinar si una cadena coincide con un patrón específico de una expresión regular.
Atributos:
Patrón: una cadena utilizada para definir una expresión regular.
IgnoreCase: ignora la coincidencia de tamaños de letras en inglés, False coincide con mayúsculas y minúsculas.
Global: establece o devuelve un valor booleano que indica si un patrón debe coincidir con todos los términos de búsqueda en toda la cadena de búsqueda o solo con el primer término de búsqueda.
MultiLine: No existe ninguna introducción a este MS. Después de verificar la información, establece un valor booleano o devuelve un valor booleano, ya sea para buscar en varias líneas de la cadena. multiline es verdadero si se permite la coincidencia de varias líneas de texto, ¿falso si la búsqueda debe detenerse en una nueva línea?
Métodos:
Ejecutar: devuelve un objeto MatchCollection que contiene cada objeto Match coincidente exitosamente.
Reemplazar: MS no lo ha introducido. Esto devuelve una cadena que reemplaza los caracteres coincidentes con los caracteres especificados.
Prueba: Devuelve un valor booleano que indica si la expresión regular coincidió correctamente con la cadena.
2. MatchCollection es un objeto de colección que contiene información sobre cadenas coincidentes. Este objeto contiene cada objeto Match coincidente correctamente.
Atributos
Recuento: el número total de objetos coincidentes.
Item: Índice del objeto coincidente.
3. Match es el objeto coincidente exitosamente.
Atributos:
FirstIndex: la posición inicial de la cadena que coincide con el objeto coincidente.
Longitud: la longitud de caracteres de la cadena que coincide con el objeto coincidente.
SubMatches: Los subelementos de los resultados coincidentes del objeto coincidente.
Valor: el valor que coincide con el objeto coincidente.
Vea algunos ejemplos simples a continuación:
1. Proceso de coincidencia
Función?TestRegExp(myPattern?As?String,?myString?As?String)
Dim?objRegExp?As?RegExp?' objeto de definición
Dim?objMatch?As?Match
El objeto Dim?colMatchesAs?MatchCollection?' información
Dim?RetStr?As?String
Set?objRegExp?=?New?RegExp
objRegExp.Pattern?=?myPattern'pass Introduzca los parámetros para definir expresiones regulares
objRegExp.IgnoreCase?=?True
objRegExp.Global?=?True
If?objRegExp.Test( myString)?Then'The expresión regular coincidió con éxito con la cadena
Set?colMatches?=?objRegExp.Execute(myString)?
For?Each?objMatch?In?colMatches RetStr ?=?RetStr?&? "Ubicación encontrada"?amp;?objMatch.FirstIndex?amp;?".?El valor de coincidencia es?'"?amp;?objMatch.Value?amp;?"'."?amp; p>Siguiente
Else
RetStr?=?"String?Matching?Failed"
Fin?Si
TestRegExp?=? RetStr
Fin?Función
Privado?Sub?Command1_Click()
MsgBox?(TestRegExp("is.",? "ISss1?is2?IS3? is4"))
End?Sub
2. Método de prueba de RegExp:
Función?bTest(ByVal?s? As?String,?ByVal?p ?As?String)?As?Boolean
Dim?re?As?RegExp
Set?re?=?New?RegExp re.IgnoreCase ?=?False 'Establecer si coincidir con mayúsculas y minúsculas re.Pattern?=?p bTest?=?re.Test(s)
Fin?Función
Privado?Sub?Command1_Click( )
Dim?s?As?String
Dim?p?As?String s?=?"Mi correo electrónico: ?test@163.com?.
¡Bienvenido a llamarnos! "
'Prueba si la cadena contiene números: p?=?"\d "
MsgBox?bTest(s,?p)
'Prueba si la cadena está compuesta enteramente de números: p?=?"^\d $"
MsgBox?bTest(s,?p)
'Prueba si la cadena contiene letras mayúsculas: p?=?"[A-Z] "
MsgBox?bTest(s,?p)
End?Sub
3.Reemplazo del método RegExp:
Función?StrReplace(s?As?String,?p?As?String,?r?As?String)?As?String
Dim?re?As? p>
Set?re?=?New?RegExp re.IgnoreCase?=?True re.Global?=?True re.Pattern?=?p StrReplace?=?re.Replace(s,?r ) p>
¿Fin?Función
Privado?Sub?Command2_Click()
Dim?s?As?String' cadena
Dim ?p?As ?String'Expresión regular
Dim?r?As?String'La cadena a reemplazar
'El siguiente código es para reemplazar la dirección de correo electrónico
s ?=?"Mi correo electrónico:?Test@163.com?. ¡Bienvenido a llamar!" p?=?"w @w .w " r?=?"E_Mail@sohu.net" s?=?StrReplace(s,?p,?r) Debug.Print?s
'Resultado: Mi correo electrónico:?E_Mail@sohu.net?. ¡Bienvenido a llamar!
Fin?Sub
Atributo SubMatches del partido:
Privado?Sub?Command3_Click()
Dim?re?As?RegExp
Dim?mh?As?Match
Dim?mhs?As ?MatchCollection
Dim?inpStr?As?String
inpStr?=?"Mi correo electrónico:?xsdd@163.com?. ¡Bienvenido a llamar!"
Set?re?=?New?RegExp
re.Pattern?=?"(w )@(w ).(w )"' también coincide Dirección, tenga en cuenta la diferencia con el ejemplo anterior
Set?mhs?=?re.Execute(inpStr)
Set?mh?=?mhs(0)'Solo una coincidencia Imprimir? "La dirección de correo electrónico es: ??mh.Value'Aquí está el contenido de la coincidencia ¿Imprimir?" El nombre de usuario es: "?amp;?mh.SubMatches(0)'El contenido del primer corchete ¿Imprimir?" El correo electrónico es: "?amp;?mh.SubMatches(1)'El contenido en el segundo paréntesis Imprimir?"El nombre de dominio es: "?amp;?mh.SubMatches(2)'El contenido en el tercer paréntesis p >