Saltar al contenido

¿Cuál es el uso de la [b] expresión regular de retroceso?

Si hallas algún error en tu código o proyecto, recuerda probar siempre en un ambiente de testing antes añadir el código al trabajo final.

Solución:

Mientras que todos los demás tienen razón en general (que b es un límite de palabra), blo hace retroceso medio dentro de las clases de caracteres:

[b]

De hecho, esto coincidirá con un carácter de retroceso. Es solo un carácter de control ASCII que puede aparecer en el texto (código ASCII 8 o 10 en octal). Supongo que se usa principalmente por razones heredadas, para agregar signos diacríticos (por ejemplo, podría hacer aretroceso, ´Llegar á). Hoy en día, estos han sido reemplazados en su mayoría por marcas de combinación Unicode.

Como un string contener un retroceso finalmente Mira depende del software que lo renderice. Es probable que las consolas aún muevan el cursor hacia atrás y sobrescriban lo que estaba allí si el retroceso es seguido por otros caracteres nuevos. Para ver esto, inicie una consola de secuencias de comandos interactiva (como node.js si desea probarlo en JavaScript) y ejecute

> console.log("abcbbdef")
adef

Tenga en cuenta que, si hubiera omitido defsolo obtendrías abc, porque el retroceso en sí no borra nada. Solo mueve el cursor hacia atrás.

Por otro lado, su navegador podría simplemente ignorarlo en un campo de entrada. Por ejemplo, consulte un convertidor Unicode, ingrese la entrada de JavaScript abcbbdef en la entrada inferior izquierda, presione “convertir”, y la salida “Caracteres” no tendrá el bc borrado.

De paso b ser un retroceso en las clases de caracteres no es exclusivo de JavaScript, sino que se interpreta de esta manera en la mayoría de los tipos de expresiones regulares.

Otras lecturas:

  • El carácter de escape “retroceso” ‘b’ en C, ¿comportamiento inesperado?
  • Usar el carácter de retroceso para eliminar un carácter en la consola
  • Buena vieja Wikipedia

Dentro del contexto de una expresión regular (fuera de una clase de caracteres) b no significa retroceso; significa ‘límite de palabra’. Hay muchos usos para ello. Por ejemplo,

/bwordb/

coincidirá some word pero no someword.

Como m.mantequilla te señala pueden utilícelo para hacer coincidir un carácter de retroceso, si lo coloca dentro de una clase de carácter. Por ejemplo:

var input = "this is a btest.";
/[b]/.test(input); // true

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *