Conceptos básicos
Una expresión regular es un patrón de texto que incluye caracteres normales (por ejemplo, letras entre A a Z) y caracteres especiales (llamados "Metachars"). El patrón describe una o más cadenas para que coincidan al buscar texto.
Primero, se recomiendan varios editores de expresión regulares
Debuggex: https://www.debuggex.com/
Pyregex: http://www.pyregex.com/
Regexper: http://www.regexper.com/
Las expresiones regulares son las operaciones de búsqueda y reemplazo de cadenas. Las expresiones regulares se utilizan ampliamente en editores de texto, como las expresiones regulares para:
[Copiar] Compruebe si el texto contiene la palabra característica especificada
Descubra dónde se encuentran las palabras características coincidentes en el texto
Extraer información del texto, como: subcadenas de cuerdas
Modificar texto
Nota: Las expresiones regulares generalmente se usan para dos tareas: 1. Verificación, 2. Busque/reemplazar. Cuando se usa para la verificación, generalmente es necesario agregar ^ y $ antes y después para que coincidan con toda la cadena para ser verificada; Si se debe agregar esta limitación al buscar/reemplazo depende de los requisitos de búsqueda. Además, también es posible agregar /b en lugar de ^ y $ antes y después. Excepto por algunos, no se agregan restricciones antes y después de las expresiones regulares comunes enumeradas en esta tabla. Por favor, manejalos usted mismo según sea necesario.
Orden prioritario
Después de construir una expresión regular, puede evaluar como una expresión matemática, es decir, puede evaluar de izquierda a derecha y en un orden prioritario. La siguiente tabla enumera el orden de prioridad de varios operadores de expresión regulares de la prioridad más alta a la prioridad más baja:
| Operador | describir |
|---|---|
| / | Símbolo de escape |
| (), (? :), (? =), [] | Aparatos ortopédicos y soportes cuadrados |
| *, +,?, {n}, {n,}, {n, m} | Índice |
| ^, $, /anymetacharacter | Posición y orden |
Crear expresiones regulares
El método para construir expresiones regulares es el mismo que el método para crear expresiones matemáticas. Es decir, use múltiples metacharacteres y operadores para combinar pequeñas expresiones para crear expresiones más grandes.
Se puede construir una expresión regular colocando varios componentes del patrón de expresión entre un par de separadores.
Para JScript, el delimitador es un par de cortes de avance (/) caracteres. Por ejemplo:
/expresión/
Para VBScript, se usa un par de citas ("") para determinar los límites de la expresión regular. Por ejemplo:
La copia del código es la siguiente:
"expresión"
Ver un ejemplo
La copia del código es la siguiente:
// coincidir si la cuenta es legal (comenzando con letras, 5-16 bytes permitidos, subrayados alfanuméricos permitidos
var re = new Regexp ("^[A-ZA-Z] [A-ZA-Z0-9 _] {5,19} $");
if (re.test (aaaa)) {
alerta ("formato correcto");
}demás{
alerta ("error de formato");
}
Los componentes de las expresiones regulares pueden ser un solo carácter, un conjunto de caracteres, una variedad de caracteres, una elección entre caracteres o cualquier combinación de todos estos componentes.
Expresiones regulares de uso común
Expresión regular Caracteres chinos: [/u4e00-/u9fa5]
Comentario: Coincidir con el chino es realmente un dolor de cabeza, es fácil de hacer con esta expresión
Match Double-byte caracteres (incluidos los caracteres chinos): [^/x00-/xff]
Comentario: se puede usar para calcular la longitud de una cadena (un medidor de longitud de carácter de doble byte 2, medidor de caracteres ASCII 1)
Líneas en blanco de expresión regular que coincide:/n/s*/r
Comentario: se puede usar para eliminar líneas en blanco
Etiquetas HTML de expresión regular: <(/s*?) [^>]*>.*? <// 1> | <.*? />
Comentario: La versión que circula en línea es demasiado mala, y la anterior solo puede igualar la pieza, y todavía es impotente usar marcadores anidados complejos.
Expresión regular que coincide con los caracteres de espacio en blanco inicial y final: ^/S*|/S*$
Comentario: Se puede usar para eliminar caracteres en blanco al principio y al final de la línea (incluidos espacios, pestañas, saltos de página, etc.), una expresión muy útil
Expresión regular que coincide con la dirección de correo electrónico: /w+(bar-+.font>/w+)*@/w+(bar (font>/w+)*/./w+(bar (font>/w+)*
Comentario: es muy práctico al verificar el formulario
URL de correspondencia de expresión regular: [A-Za-Z]+: // [^/S]**
Comentario: Las funciones de la versión que circulan en línea son muy limitadas, y lo anterior básicamente puede satisfacer las necesidades
Coincida si la cuenta es legal (comenzando con letras, 5-16 bytes permitidos, subrayadores alfanuméricos permitidos): ^[A-ZA-Z] [A-ZA-Z0-9 _] {4,15} $
Comentario: es muy práctico al verificar el formulario
Número de teléfono doméstico coincidir:/D {3}-/d {8} |/d {4}-/d {7}
Comentario: los formularios coincidentes son los siguientes: 0511-4405222 o 021-87888822
Match tencent qq número: [1-9] [0-9] {4,}
Comentario: El número de Tencent QQ comienza en 10,000
Coincida con el código postal chino: [1-9]/d {5} (?!/D)
Comentario: El código postal de China es de 6 dígitos
Tarjeta de identificación de coincidencia: /D {15} | /D {18}
Comentario: La tarjeta de identificación de China es de 15 o 18 dígitos
Dirección IP de coincidir: /d+/./d+/./d+/./d+
Comentario: es útil al extraer direcciones IP
Coincidir con números específicos
[copia] ^[1-9]/d*$ // coincidir con enteros positivos
^-[1-9]/d*$ // coincidir con enteros negativos
^-? [1-9]/d*$ // Match Integers
^[1-9]/d*| 0 $ // coincide con enteros no negativos (entero positivo + 0)
^-[1-9]/d*| 0 $ // coincidir con enteros no positivos (enteros negativos + 0)
^[1-9]/D*/./D*| 0 /./ D*[1-9]/d*$ // Números de punto flotante positivos
^-([1-9]/d*/./D*| 0 /./ d*[1-9]/d*) $ // Match Negation Floating Point Numbers
^-? ([1-9]/d*/./D*| 0 /./ d*[1-9]/d*| 0?/. 0+ | 0) $ // Números de punto flotante coincidir
^[1-9]/D*/./D*| 0 /./ D*[1-9]/D*| 0?/. 0+ | 0 $ // Match Números de punto flotante no negativos (números de punto flotante positivos + 0)
^(-([1-9]/d*/./D*| 0 /./ d*[1-9]/d*)) | 0?/. 0+ | 0 $ // Números de punto flotante no positivos (números de punto flotante negativos + 0)
Comentario: Es útil al procesar grandes cantidades de datos y tenga cuidado de corregirlo al aplicarlos en detalle.
Coincidir con una cadena específica
[Copia]^[A-Za-Z]+$ // coincide con una cadena compuesta de 26 letras en inglés
^[AZ]+$ // coincide con una cadena compuesta por 26 capitalizaciones de letras inglesas
^[AZ]+$ // coincide con una cadena compuesta por 26 letras en inglés minúsculas
^[A-ZA-Z0-9]+$ // Haga coincidir una cadena compuesta de números y 26 letras en inglés
^/w+$ // coincide con una cadena compuesta de números, 26 letras en inglés o subrayadores
Comentario: Algunas de las expresiones más básicas y más utilizadas
Mapa mental