Un RegEx es la forma abreviada de la expresión regular , que es la secuencia de caracteres que define un patrón. Los caracteres en un RegEx pueden ser letras, números o caracteres especiales. Por lo general, RegEx se usa para encontrar un patrón en una string para reemplazarlos, eliminarlos o modificarlos. En ES6, un RegEx se puede definir mediante 2 notaciones diferentes.
- Notación literal: el patrón se encierra entre barras. Se ejecuta en tiempo de compilación. Entonces, los patrones constantes se pueden dar en notación literal.
var regex = /pattern/
- Función constructora: el patrón se da entre comillas simples. Se ejecuta en tiempo de ejecución. Por lo tanto, se pueden dar patrones flexibles en la función constructora.
var regex = new RegExp( pattern, optional arguments)
Hay diferentes formas de mencionar patrones que se enumeran a continuación:
Uso de corchetes: se usa para mencionar un rango particular de caracteres en un patrón.
Patrones con corchetes | Descripción |
---|---|
[patrón] | Cualquier carácter del patrón. |
[^patrón] | Cualquier carácter que no sea del patrón. |
[0-9] | Cualquier número decimal entre 0-9. |
[Arizona] | Cualquier carácter de los alfabetos en minúsculas. |
[ARIZONA] | Cualquier carácter de los alfabetos en mayúsculas. |
Uso de Cuantificadores: Se utiliza para especificar la frecuencia y posición de los caracteres en un patrón.
cuantificadores | Descripción |
---|---|
patrón+ | Coincide con strings con al menos uno o más patrones. |
patrón* | Coincide con strings con cero o más patrones. |
patrón{n} | Coincide con strings con ‘n’ número de patrones. |
patrón{n1, n2} | Coincide con strings con patrones en el rango de n1 a n2 (ambos inclusive). |
patrón{n, } | Coincide con strings con un número mínimo de patrones ‘n’. |
patrón$ | Coincide con strings con patrón como secuencia final. |
^ patrón | Coincide con strings con patrón como secuencia inicial. |
Uso de caracteres literales: Se utiliza para especificar los caracteres de escape.
Caracteres literales | Descripción |
---|---|
\0 | Denota un carácter NULL. |
\t | Denota un espacio de tabulación. |
\norte | Denota una nueva línea. |
\r | Denota un retorno de carro. |
Uso de metacaracteres: Se utiliza para especificar solo el tipo de caracteres.
Metacaracteres | Descripción |
---|---|
\s | Denota un espacio en blanco o en blanco. |
\S | Denota un carácter que no está en blanco o sin espacios. |
\d | Denota un carácter de dígito decimal. |
\D | Denota un carácter que no es un dígito. |
\w | Denota un carácter de palabra (cualquier secuencia de caracteres). |
\W | Denota un carácter que no es una palabra. |
Ejemplo:
<script> var text1 = "Welcome to GeeksforGeeks "; var text2 = "The numbers are - 0, 1, 2, " + "3, 4, 5, 6, 7, 8, 9. The " + "special characters are - @," + " #, $, %, ^, &, *"; // RegExp.match() and RegExp.replace() // have been used in the following // examples // Bracket notations // 1 var regexp = new RegExp('[geeks]'); console.log(text1.match(regexp)); // 2 var regexp = new RegExp('[^geeks]'); console.log(text1.match(regexp)); // 3 var regexp = new RegExp('[0-9]'); console.log(text2.match(regexp)); // Quantifiers // 4 var regexp = new RegExp('[geeks]*'); console.log(text1.match(regexp)); // 5 var regexp = new RegExp('s{2}'); console.log(text1.match(regexp)); // Literal characters and meta characters // 6 var regexp1 = /(\w+)\s(\w+)\s(\w+)/ let newtext = text1.replace(regexp1, '$3 $2 $1'); console.log(newtext); // 7 var regexp1 = /(\d+)/; let newtext1 = text2.replace(regexp1, 'number'); console.log(newtext1); // 8 var regexp2 = /(\s+)/; console.log(text2.replace(regexp2, '\t')); </script>
Producción:
Nota: RexExp no tiene métodos ni propiedades por sí mismo. Pero hereda algunas funciones y propiedades del prototipo.
Publicación traducida automáticamente
Artículo escrito por sathiyajith19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA