Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo utilizar expresiones regulares en VB6.0

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 )

¿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