--- title: Clases de caracteres slug: Web/JavaScript/Guide/Regular_Expressions/Character_Classes tags: - Expresiones Regulares - Guía - JavaScript - Referencia - RegExp - clases de caracteres translation_of: Web/JavaScript/Guide/Regular_Expressions/Character_Classes original_slug: Web/JavaScript/Guide/Regular_Expressions/Clases_de_caracteres ---
{{JsSidebar("Guía de JavaScript")}}
Las clases de caracteres distinguen tipos de caracteres como, por ejemplo, distinguen entre letras y dígitos.
Caracteres | Significado |
---|---|
. |
Tiene uno de los siguientes significados:
Ten en cuenta que el indicador multilínea ES2018 agregó el indicador |
\d |
Busca cualquier dígito (número arábigo). Equivalente a |
\D |
Busca cualquier caracter que no sea un dígito (número arábigo). Equivalente a |
\w |
Busca cualquier caracter alfanumérico del alfabeto latino básico, incluido el caracter de subrayado. Equivalente a |
\W |
Busca cualquier caracter que no sea un caracter de palabra del alfabeto latino básico. Equivalente a |
\s |
Busca un solo caracter de espacio en blanco, incluido el espacio, tabulación, avance de página, avance de línea y otros espacios Unicode. Equivalente a |
\S |
Busca un solo caracter que no sea un espacio en blanco. Equivalente a |
\t |
Coincide con una tabulación horizontal. |
\r |
Coincide con un retorno de carro. |
\n |
Coincide con un salto de línea. |
\v |
Coincide con una tabulación vertical. |
\f |
Coincide con un caracter de avance de página. |
[\b] |
Coincide con un caracter de retroceso. Si estás buscando el carácter de límite de palabra (\b ), consulta {{JSxRef("../Guide/Regular_Expressions/Boundaries", "Límites")}}. |
\0 |
Coincide con un caracter NUL . No sigue a este con otro dígito. |
\cX |
Coincide con un caracter de control mediante {{Interwiki("wikipedia", "Caret_notation", "notación de intercalación")}}, donde "X" es una letra de la A a la Z (correspondiente a los puntos de código |
\xhh |
Coincide con el carácter con el código hh (dos dígitos hexadecimales). |
\uhhhh |
Coincide con una unidad de código UTF-16 con el valor hhhh (cuatro dígitos hexadecimales). |
\u{hhhh} o \u{hhhhh} |
(Solo cuando se establece el indicador u ). Hace coincidir el carácter con el valor Unicode U+hhhh o U+hhhhh (dígitos hexadecimales). |
\ |
Indica que el siguiente caracter se debe tratar de manera especial o "escaparse". Se comporta de dos formas.
Para reconocer este caracter literalmente, escápalo consigo mismo. En otras palabras, para buscar |
var datosAleatorios = "015 354 8787 687351 3512 8735"; var regexpCuatroDigitos = /\b\d{4}\b/g; // \b indica un límite (es decir, no empieza a coincidir en medio de una palabra) // \d{4} indica un dígito, cuatro veces // \b indica otro límite (es decir, no termina la coincidencia en medio de una palabra) console.table(datosAleatorios.match(regexpCuatroDigitos)); // ['8787', '3512', '8735']
var extractoAlicia = "Estoy segura de que no soy Ada, dijo, 'porque su cabello se hace en rizos tan largos, y el mío no se riza en absoluto'."; var regexpPalabraEmpiezaConA = /\b[aA]\w+/g; // \b indica un límite (es decir, no empieza a coincidir en medio de una palabra) // [aA] indica las letras a o A // \w+ indica cualquier carácter *del alfabeto latino*, varias veces console.table(extractoAlicia.match(regexpPalabraEmpiezaConA)); // ["Ada", "absoluto"]
En lugar del alfabeto latino, podemos usar una variedad de caracteres Unicode para identificar una palabra (de modo que podamos tratar con texto en otros idiomas, tal como Ruso o Árabe). El "Plano multilingüe básico" de Unicode contiene la mayoría de los caracteres que se utilizan en todo el mundo y podemos utilizar clases y rangos de caracteres para reconocer las palabras escritas con esos caracteres.
var textoNoEs = "Приключения Алисы в Стране чудес"; var regexpPalabraBMP = /([\u0000-\u0019\u0021-\uFFFF])+/gu; // BMP pasa por U+0000 a U+FFFF pero el espacio es U+0020 console.table(textoNoEs.match(regexpPalabraBMP)); [ 'Приключения', 'Алисы', 'в', 'Стране', 'чудес' ]
Nota para los editores de MDN: no intentes agregar ejemplos divertidos con emojis, ya que esos caracteres no los maneja la plataforma (Kuma).
Especificación |
---|
{{SpecName('ESDraft', '#sec-characterclass', 'RegExp: Clases de caracteres')}} |
Para obtener información sobre la compatibilidad del navegador, consulta la {{JSxRef("../Guide/Regular_Expressions", "tabla principal de compatibilidad de expresiones regulares", "#Compatibilidad_del_navegador")}}.