Expresiones regulares y objeto RegExp
Una expresión regular es un objeto que describe un patrón de caracteres.
El JavaScript RegExp La clase representa expresiones regulares, y tanto String como RegExp definir métodos que utilicen expresiones regulares para realizar potentes funciones de búsqueda y sustitución de patrones en el texto.
Sintaxis
Una expresión regular se podría definir con la RegExp () constructor, como sigue -
var pattern = new RegExp(pattern, attributes);
or simply
var pattern = /pattern/attributes;
Aquí está la descripción de los parámetros:
pattern : Una cadena que especifica el patrón de la expresión regular u otra expresión regular.
attributes - Una cadena opcional que contiene cualquiera de los atributos "g", "i" y "m" que especifican coincidencias globales, que no distinguen entre mayúsculas y minúsculas y de varias líneas, respectivamente.
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úsculas Z. |
6 | [a-Z] Coincide con cualquier carácter de minúsculas a a través de mayúsculas 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 entreb mediante v.
Cuantificadores
La frecuencia o posición de las secuencias de caracteres entre corchetes y los caracteres individuales se pueden indicar mediante un carácter especial. Cada carácter especial tiene una connotación específica. Los indicadores +, *,? Y $ siguen una secuencia de caracteres.
No Señor. | Expresión y descripción |
---|---|
1 | p+ Coincide con cualquier cadena que contenga una o más p. |
2 | p* Coincide con cualquier cadena que contenga cero o más p. |
3 | p? Coincide con cualquier cadena que contenga como máximo una p. |
4 | p{N} Coincide con cualquier cadena que contenga una secuencia de N PD |
5 | p{2,3} Coincide con cualquier cadena que contenga una secuencia de dos o tres p. |
6 | p{2, } Coincide con cualquier cadena que contenga una secuencia de al menos dos p. |
7 | p$ Coincide con cualquier cadena con p al final. |
8 | ^p Coincide con cualquier cadena con p al principio de la misma. |
Ejemplos
Los siguientes ejemplos explican más sobre la coincidencia de caracteres.
No Señor. | Expresión y descripción |
---|---|
1 | [^a-zA-Z] Coincide con cualquier cadena que no contenga ninguno de los caracteres que van desde a mediante z y A a través de Z. |
2 | p.p Coincide con cualquier cadena que contenga p, seguido de cualquier carácter, seguido a su vez por otro p. |
3 | ^.{2}$ Coincide con cualquier cadena que contenga exactamente dos caracteres. |
4 | <b>(.*)</b> Coincide con cualquier cadena incluida entre <b> y </b>. |
5 | 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 NUL (\ 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 |
Metacaracteres
Un metacarácter 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 metacarácter '\ d': /([\d]+)000/, Aquí \d buscará cualquier cadena de caracteres numéricos.
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 que no es un espacio 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 |
Modificadores
Hay varios modificadores disponibles que pueden simplificar la forma en que trabaja con regexps, como la distinción entre mayúsculas y minúsculas, búsqueda en varias líneas, etc.
No Señor. | Modificador y descripción |
---|---|
1 | i Realice una coincidencia que no distinga entre mayúsculas y minúsculas. |
2 | m Especifica que si la cadena tiene caracteres de retorno de carro o de línea nueva, los operadores ^ y $ ahora coincidirán con un límite de línea nueva, en lugar de un límite de cadena |
3 | g Realiza una coincidencia global, es decir, encuentra todas las coincidencias en lugar de detenerse después de la primera coincidencia. |
Propiedades de expresión regular
Aquí hay una lista de las propiedades asociadas con RegExp y su descripción.
No Señor. | Descripción de propiedad |
---|---|
1 | constructor
Specifies the function that creates an object's prototype. |
2 | global
Specifies if the "g" modifier is set. |
3 | ignoreCase
Specifies if the "i" modifier is set. |
4 | lastIndex
The index at which to start the next match. |
5 | multiline
Specifies if the "m" modifier is set. |
6 | source
The text of the pattern. |
In the following sections, we will have a few examples to demonstrate the usage of RegExp properties.
RegExp Methods
Here is a list of the methods associated with RegExp along with their description.
Sr.No. | Method & Description |
---|---|
1 | exec()
Executes a search for a match in its string parameter. |
2 | test()
Tests for a match in its string parameter. |
3 | toSource()
Returns an object literal representing the specified object; you can use this value to create a new object. |
4 | toString()
Returns a string representing the specified object. |
In the following sections, we will have a few examples to demonstrate the usage of RegExp methods.