ES6 - RegExp
Una expresión regular es un objeto que describe un patrón de caracteres. Las expresiones regulares a menudo se abrevian "regex"O"regexp”.
El JavaScript RegExp class representa expresiones regulares, y tanto String como RegExp definen métodos que usan expresiones regulares para realizar potentes funciones de búsqueda y reemplazo de patrones y búsqueda en el texto.
Una expresión regular se puede definir como:
var pattern = new RegExp(pattern, attributes);
OR
var pattern = /pattern/attributes;
El atributo puede tener cualquier combinación de los siguientes valores.
No Señor | Atributo y descripción |
---|---|
1 |
G Partido global |
2 |
I Ignorar caso |
3 |
M Multilínea; tratar los caracteres de principio y fin (^ y $) como si estuvieran trabajando en varias líneas (es decir, coincidir con el principio o el final de cada línea (delimitado por \ n o \ r), no solo el principio o el final de toda la cadena de entrada ) |
4 |
U Unicode; tratar el patrón como una secuencia de puntos de código Unicode |
5 |
Y Pegajoso; coincide solo con el índice indicado por la propiedad lastIndex de esta expresión regular en la cadena de destino (y no intenta hacer coincidencias con ningún índice posterior) |
Construir expresiones regulares
Soportes
Los corchetes ([]) tienen un significado especial cuando se usan en el contexto de expresiones regulares. Se utilizan para encontrar una variedad de personajes.
No Señor | Expresión y descripción |
---|---|
1 |
[...] Cualquier carácter entre corchetes |
2 |
[^...] Cualquier carácter que no esté entre corchetes |
3 |
[0-9] Coincide con cualquier dígito decimal del 0 al 9 |
4 |
[a-z] Coincide con cualquier carácter de minúsculas a a minúsculas z |
5 |
[A-Z] Coincide con cualquier carácter de mayúsculas A a través de mayúscula Z |
6 |
[a-Z] Coincide con cualquier carácter de minúsculas a a través de mayúscula Z |
Los rangos que se muestran arriba son generales; también puede usar el rango [0-3] para hacer coincidir cualquier dígito decimal entre 0 y 3, o el rango [bv] para hacer coincidir cualquier carácter en minúscula entre b y v.
Cuantificadores
La frecuencia o posición de las secuencias de caracteres entre corchetes y los caracteres individuales pueden indicarse mediante un carácter especial. Cada carácter especial tiene una connotación específica. los+, *, ?, y $ todas las banderas siguen una secuencia de caracteres.
No Señor | Expresión y descripción |
---|---|
1 |
p+ Coincide con cualquier cadena que contenga al menos una p. |
2 |
p* Coincide con cualquier cadena que contenga cero o más p's |
3 |
p? Coincide con cualquier cadena que contenga uno o más p's |
4 |
p{N} Coincide con cualquier cadena que contenga una secuencia de N p's |
5 |
p{2,3} Coincide con cualquier cadena que contenga una secuencia de dos o tres p's |
6 |
p{2, } Coincide con cualquier cadena que contenga una secuencia de al menos dos p's |
7 |
p$ Coincide con cualquier cuerda con p al final de esto |
8 |
^p Coincide con cualquier cuerda con p al comienzo de ella |
9 |
[^a-zA-Z] Coincide con cualquier cadena que no contenga ninguno de los caracteres que van desde a mediante z y A mediante Z |
10 |
p.p Coincide con cualquier cadena que contenga p, seguido de cualquier carácter, seguido a su vez por otro p |
11 |
^.{2}$ Coincide con cualquier cadena que contenga exactamente dos caracteres |
12 |
<b>(.*)</b> Coincide con cualquier cadena incluida entre <b> y </b> |
13 |
p(hp)* Coincide con cualquier cadena que contenga un p seguido de cero o más instancias de la secuencia hp |
Caracteres literales
No Señor | Descripción del personaje |
---|---|
1 |
Alphanumeric Sí mismo |
2 |
\0 El carácter NULO (\ u0000) |
3 |
\t Pestaña (\ u0009) |
4 |
\n Nueva línea (\ u000A) |
5 |
\v Pestaña vertical (\ u000B) |
6 |
\f Alimentación de formulario (\ u000C) |
7 |
\r Retorno de carro (\ u000D) |
8 |
\xnn El carácter latino especificado por el número hexadecimal nn; por ejemplo, \ x0A es lo mismo que \n |
9 |
\uxxxx El carácter Unicode especificado por el número hexadecimal xxxx; por ejemplo, \ u0009 es lo mismo que\t |
10 |
\cX El carácter de control ^ X; por ejemplo, \ cJ es equivalente al carácter de nueva línea \n |
Meta-personajes
UNA meta-character es simplemente un carácter alfabético precedido por una barra invertida que actúa para dar a la combinación un significado especial.
Por ejemplo, puede buscar una gran suma de dinero utilizando el '\d'meta-carácter: / ([\ d] +) 000 /. Aquí,\d buscará cualquier cadena del carácter numérico.
La siguiente tabla enumera un conjunto de metacaracteres que se pueden usar en expresiones regulares de estilo PERL.
No Señor | Descripción del personaje |
---|---|
1 |
. Un solo personaje |
2 |
\s Un carácter de espacio en blanco (espacio, tabulación, nueva línea) |
3 |
\S Carácter sin espacios en blanco |
4 |
\d Un dígito (0-9) |
5 |
\D Un no digito |
6 |
\w Un carácter de palabra (az, AZ, 0-9, _) |
7 |
\W Un personaje que no es una palabra |
8 |
[\b] Un retroceso literal (caso especial) |
9 |
[aeiou] Coincide con un solo carácter en el conjunto dado |
10 |
[^aeiou] Coincide con un solo carácter fuera del conjunto dado |
11 |
(foo|bar|baz) Coincide con cualquiera de las alternativas especificadas |
Propiedades de expresión regular
No Señor | Propiedades y descripción |
---|---|
1 |
RegExp.prototype.flags
Una cadena que contiene las banderas del objeto RegExp |
2 |
RegExp.prototype.global
Ya sea para probar la expresión regular con todas las posibles coincidencias en una cadena, o solo con la primera |
3 |
RegExp.prototype.ignoreCase
Ya sea para ignorar el caso al intentar una coincidencia en una cadena |
4 |
RegExp.prototype.lastIndex
Si la propiedad de lectura / escritura de los objetos RegExp. |
5 |
RegExp.prototype.multiline
Si buscar o no en cadenas en varias líneas |
6 |
RegExp.prototype.source
El texto del patrón |
Métodos RegExp
No Señor | Método y descripción |
---|---|
1 |
RegExp.prototype.exec ()
Ejecuta una búsqueda de una coincidencia en su parámetro de cadena |
2 |
RegExp.prototype.test ()
Prueba una coincidencia en su parámetro de cadena |
3 |
RegExp.prototype.match ()
Realiza una coincidencia con la cadena dada y devuelve el resultado de la coincidencia |
4 |
RegExp.prototype.replace ()
Reemplaza las coincidencias en la cadena dada con una nueva subcadena |
5 |
RegExp.prototype.search ()
Busca la coincidencia en la cadena dada y devuelve el índice del patrón encontrado en la cadena |
6 |
RegExp.prototype.split ()
Divide la cadena dada en una matriz separando la cadena en subcadena |
7 |
RegExp.prototype.toString ()
Devuelve una cadena que representa el objeto especificado. Anula el métodoObject.prototype.toString () |