Expresiones regulares - metacaracteres \b y \B
Expresiones regulares - metacaracteres
\by\Bson dos metacaracteres especiales en las expresiones regulares, utilizados para coincidir con los límites de palabra.
Límite de palabra \b
En las expresiones regulares,\bes un metacaracter especial que representa el límite de una palabra. Coincide con la posición de inicio o fin de una palabra, sin coincidir con ningún carácter real.
Específicamente,\bcoincide con uno de los siguientes tres casos:
- Inicio de la palabra: si
\baparece antes de una letra o un dígito, o al comienzo de la cadena, coincidirá con la posición de inicio de una palabra. - Final de la palabra: si
\baparece después de una letra o un dígito, o al final de la cadena, coincidirá con la posición de fin de una palabra. - Interior de la palabra: si
\baparece entre dos letras o dígitos consecutivos, no coincidirá con nada, porque no hay un límite de palabra.
A continuación se muestran algunos\bejemplos de metacaracteres:
- Expresión regular
\bword\bCoincide con toda la palabra "word", pero no con "words" ni "sword". - Expresión regular
\b\d+\bCoincide con un número completo, por ejemplo "123", pero no con "abc123". - Expresión regular
\b[A-Z]+\bCoincide con una palabra completa en mayúsculas, por ejemplo "HELLO", pero no con "hello".
Tenga en cuenta que,\bes una aserción de ancho cero, que no coincide con caracteres reales, solo con posiciones. Por lo tanto, cuando quieras coincidir con un carácter real, no uses\b, sino que deberías usar otros caracteres o combinaciones de caracteres.
Ejemplos
var patternWord = /\bword\b/;
var textWord = 'This is a word in a sentence.';
if (patternWord.test(textWord)) {
document.write('Palabras coincidentes encontradas:', patternWord.exec(textWord)[0]);
} else {
document.write('¡No se encontró ninguna coincidencia!');
}
Pruébalo »
No límite de palabra \B
En las expresiones regulares,\BSí\bes el símbolo opuesto de \b, que representa el no límite de palabra, es decir, coincide con posiciones que no están en un límite de palabra.
Específicamente,\Bcoincide con uno de los siguientes casos:
- Interior de la palabra: si
\Baparece entre dos letras o dígitos consecutivos, coincidirá con la posición entre esos dos caracteres, lo que indica que no es un límite de palabra. - Inicio o final de no palabra: si
\Baparece antes o después de una letra o un dígito, coincidirá con esa posición, lo que indica que no es el inicio ni el final de una palabra.
A continuación se muestran algunos\Bejemplos de metacaracteres:
- Expresión regular
\Bword\BCoincide con "word" en "sword1", pero no con "password" ni "words". - Expresión regular
\B\d+\BCoincide con "123" en "abc123def", pero no con "123" ni "abc123". - Expresión regular
\B[A-Z]+\BCoincide con "ELL" y "ORL" en "HELLO WORLD", pero no con "HELLO" ni "WORLD".
Tenga en cuenta que,\ba diferencia de lo anterior,\Btambién es una aserción de ancho cero, que solo coincide con posiciones y no con caracteres reales.
Ejemplos
var patternWord = /\Bword\B/;
// Este sí se encuentra
var textWord = 'This is a password123 in a sentence.';
// Este no se encuentra
//var textWord = 'This is a password in a sentence.';
if (patternWord.test(textWord)) {
document.write('Palabras coincidentes encontradas:', patternWord.exec(textWord)[0]);
} else {
document.write('¡No se encontró ninguna coincidencia!');
}
Pruébalo »