Red de conocimiento informático - Material del sitio web - Cómo utilizar expresiones regulares en Excel VBA

Cómo utilizar expresiones regulares en Excel VBA

Método/Pasos

Cree un nuevo libro en blanco, presione la combinación de teclas de método abreviado Alt F11 en la interfaz de la hoja de trabajo o haga clic derecho en cualquier etiqueta de la hoja de trabajo y seleccione la ventana emergente derecha. haga clic en el menú contextual Haga clic en "Ver código" para ingresar al entorno de edición de VBA.

Copie y pegue el siguiente código en la "Ventana de código":

Sub RegTest()

'Definir objeto de expresión de reglas regulares

Atenuar oRegExp como objeto

'Definir objeto de colección de cadenas coincidentes

Atenuar oMatches como objeto

'Crear fórmula de expresión regular

'Definir la variable de texto para realizar la expresión regular

Dim sText As String

sText = "Este es un programa de muestra de v una expresión regular b Código "

Set oRegExp = CreateObject("vbscript.regexp")

With oRegExp

' establece si deben coincidir con todos los elementos coincidentes, True significa que coincide con todo, False significa que solo coincide con el primer elemento coincidente

.Global = True

'Establece si se distingue entre mayúsculas y minúsculas, True significa que no se distingue entre mayúsculas y minúsculas, False significa que entre mayúsculas y minúsculas sensible

.IgnoreCase = True

'Establece el patrón de caracteres que se encontrará

.Pattern = "[\u4e00-\u9fa5] "

'Determinar si se pueden encontrar caracteres coincidentes y, si es posible, se devuelve True

MsgBox .Test(sText)

'Realizar una búsqueda regular en la cadena y devolver un conjunto de todos los valores de búsqueda, si no se encuentran, entonces está vacío

Establecer oMatches = .Execute(sText)

'Reemplazar todos los caracteres coincidentes encontrados usando expresiones regulares en la cadena con otros caracteres

MsgBox .Replace(sText, "")

Finalizar con

Establecer oRegExp = Nada

Establecer oMatches = Nada

End Sub

La ejecución del código anterior eliminará todos los caracteres chinos en la variable sText = "Este es un programa de muestra, un código para v una expresión regular b", y solo los 3 caracteres en inglés "vba "se devolverá, como se muestra en la siguiente figura Mostrar. Entre ellos, .Pattern = "[\u4e00-\u9fa5] " significa hacer coincidir todos los caracteres chinos. El atributo Pattern es el núcleo del objeto de expresión regular. Cuando necesita realizar otras búsquedas y reemplazos, generalmente solo necesita cambiar el. Atributo de patrón.

4

Algunos patrones regulares comunes son los siguientes:

[0-9] significa hacer coincidir cualquier número

[a-zA -Z] significa coincidir con cualquier letra en inglés

[\u4e00-\u9fa5] significa coincidir con cualquier carácter chino