Introducción a las expresiones regulares en JavaScript
Las expresiones regulares son una cadena de caracteres que se utilizan para validar el contenido de otra cadena. Estas cadenas de caracteres que forman la expresión regular se almacenan en un objeto.
Sintaxis
var regEx = /^(A-Za-z)/;
Aquí el objeto variable llamado "regEx" contiene el patrón de expresión regular. Ahora probemos si otra cadena coincide con esta expresión regular.
Código
var str = "EduCBA";
var regEx = /^(A-Za-z)/;
var res = "false";
if(str.match(regEx))(
res= "true";
)
alert(res);
Salida:
cierto
Aquí, en el ejemplo anterior, la expresión regular verifica si una cadena contiene solo alfabetos de la A a la Z en mayúsculas y minúsculas. Si lo hace, devuelve "verdadero", si no "falso".
Sintaxis de expresiones regulares en JavaScript
Una expresión regular consta de dos partes. La primera parte es el patrón, que es seguido por una bandera opcional.
Sintaxis
var regEx = /pattern/flag
Las banderas también se conocen como modificadores. Pocas banderas opcionales de uso común son
-
g - global
Encuentra múltiples coincidencias. Si no se usa se detiene después del primer partido.
Código
var str = "I scream, you scream, we all scream for ice cream";
var regEx = / scream/g;
var result = str.match(regEx);
alert( result );
Salida:
grito, grito, grito // Devuelve todos los partidos en la cadena.
-
i - ignorar caso
Esto no distingue entre mayúsculas y minúsculas y coincide con mayúsculas y minúsculas. Si no se establece, la búsqueda distingue entre mayúsculas y minúsculas.
Código
var str = "Hello EduCBA";
var regEx = /educba/i;
alert( str.search(regEx) );
Salida:
6 // devuelve el índice en el que se encuentra la cadena.
alerta (str.search (/ educba /)); // sin bandera global
Salida:
-1
-
m - multilínea
Afecta el comportamiento de los caracteres "^" y "$". En el caso de líneas múltiples, busca coincidencias al principio y al final de cada línea en lugar de la de toda la cadena. Si no está en modo multilínea, solo se devuelven las coincidencias de toda la cadena.
Código
var str = `I scream,
you scream,
we all scream for ice cream`;
var regEx = /^\w+/gm;
var result = str.match(regEx);
alert( result );
Salida:
Yo, tú, // imprimimos la primera palabra de cada línea.
Ahora, echemos un vistazo a los patrones en la expresión regular. El patrón consta de rangos, metacaracteres, cuantificadores, etc.
Metacaracteres de expresiones regulares en JavaScript
Los metacaracteres forman la base del patrón de expresión regular. Estas son una combinación de barra invertida con un carácter alfabético que juntas forman un metacarácter y cada uno de ellos tiene un significado especial asociado con cada uno de ellos. Por ejemplo, "\ n" denota una nueva línea. Algunos otros ejemplos de metacaracteres son.
- \ t: se usa para buscar un carácter de tabulación.
- \ v: se usa para buscar un carácter de tabulación vertical.
- \ s: se utiliza para buscar caracteres de espacio en blanco.
- \ S: se usa para buscar caracteres que no sean espacios en blanco.
- \ d: se usa para encontrar dígitos numéricos.
- \ D - se usa para encontrar monjas - dígitos numéricos.
- \ w - se usa para encontrar palabras.
- \ W - solía encontrar cualquier cosa excepto palabras.
- . - un punto se usa para buscar un solo carácter que no sea la nueva línea o el final de la línea.
- \ 0: se usa para buscar un carácter nulo.
Conjuntos y rangos de expresiones regulares en JavaScript
En este escenario, los corchetes se usan como parte
Sintaxis
Say, for the set (abc) – only the characters a, b and c are to be considered.
Ejemplos 1
- (abc): ese es cualquier carácter que no sea abc.
- (a | b): se puede considerar ao b.
En el caso de los rangos, se proporciona un rango entre ese rango, todos los caracteres deben considerarse. Por ejemplo: (az) significa que todos los caracteres de a a z en minúsculas se tendrán en cuenta.
Ejemplos 2
- (0-9): todos los caracteres del cero al nueve.
- (AZ): todos los caracteres de la A a la Z en mayúsculas.
Cuantificadores de expresiones regulares en JavaScript
Estos se denotan con la ayuda de caracteres especiales. Cada personaje especial tiene un significado asociado. Estos caracteres se usan junto con expresiones regulares. Pocos de los cuantificadores más utilizados son:
- * - Coincide con una cadena que contiene cero o más instancias.
- +: Coincide con una cadena que contiene una o más instancias.
- ? - Coincide con una cadena que contiene cero o una instancia.
- (n) - Aquí "n" toma un número. Coincide con la expresión regular requerida el número de veces mencionado en lugar de "n".
- $: Coincide con la expresión dada con el final de la cadena.
- - Coincide con la expresión dada con el comienzo de la cadena.
- ? = - Hace coincidir cualquier cadena con el patrón regex después del signo igual.
- ?! - Coincide con cualquier cadena que no contenga el patrón regex después del signo de exclamación.
Propiedades de las expresiones regulares en JavaScript
Consta de las siguientes propiedades:
- Constructores : determina qué función ha creado el prototipo de objeto de expresión regular.
- Global : comprueba si la bandera "g" está activada.
- Ignorar mayúsculas y minúsculas : comprueba si se ha establecido el indicador "i".
- El último índice : determina la posición del índice en la que debe comenzar la próxima coincidencia.
- Multilínea : comprueba si se ha establecido el indicador "m".
- Fuente : proporciona el texto del patrón de expresión regular.
Métodos en expresiones regulares y cadenas
Métodos usados comúnmente en expresiones regulares
- exec () : se ejecuta para buscar coincidencias en una cadena y devuelve la primera coincidencia. Si no se encuentra ninguna coincidencia, devuelve nulo.
- test () : prueba las coincidencias en una cadena y devuelve el resultado en forma de booleano. Es decir, si se encuentra una coincidencia, devuelve verdadero, de lo contrario, devuelve falso.
- toString () - Devuelve un objeto de cadena equivalente de la expresión regular.
Métodos de cadena que son útiles cuando se trabaja con expresiones regulares
- match () : es un método de cadena que busca una coincidencia en una cadena. Si se encuentra, devuelve la coincidencia; si no, devuelve nulo.
- matchAll () : es un método de cadena que busca todas las coincidencias en una cadena.
- split () : es un método de cadena utilizado para dividir una cadena en función de la expresión regular proporcionada.
- search () : es un método de cadena utilizado para buscar una coincidencia con la expresión regular dada. Devuelve 0 en caso de éxito y -1 en caso de error.
Conclusión
Las expresiones regulares se pueden escribir haciendo uso de diferentes combinaciones de metacaracteres, cuantificadores y banderas cuando sea necesario. También vienen con su propio conjunto de métodos y también funcionan bien con los métodos de cadena comúnmente utilizados. Uno podría usarlos fácilmente para la validación o restricción de contenido según el requisito de uno.
Artículos recomendados
Esta ha sido una guía de expresiones regulares en JavaScript. Aquí hemos discutido la sintaxis de las expresiones regulares en JavaScript, metacaracteres, conjuntos y rangos, cuantificadores, propiedades, métodos con salidas. También puede consultar nuestros artículos para obtener más información.
- Cómo funciona JavaScript
- ¿Qué es JavaScript?
- Cómo instalar JavaScript
- Introducción a JavaScript
- Funciones de expresiones regulares en Python (ejemplo)