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 p>
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