Saltar al contenido

Regex para todos los caracteres IMPRIMIBLES

Solución:

Muy tarde para la fiesta, pero esta expresión regular funciona: /[ -~]/.

¿Cómo? Coincide con todos los personajes en el rango de espacio (ASCII DEC 32) a tilde (ASCII DEC 126), que es el rango de todos los caracteres imprimibles.

Si desea eliminar los caracteres que no son ASCII, puede usar algo como:

$someString.replace(/[^ -~]/g, '');

NOTA: esto no es válido .net código, pero un ejemplo de uso de expresiones regulares para aquellos que se encuentran con esto a través de los motores de búsqueda más tarde.

Si su sabor de expresiones regulares admite propiedades Unicode, esta es probablemente la mejor manera:

P{Cc}

Que coincida con cualquier carácter que no sea un carácter de control, ya sea ASCII – [x00-x1Fx7F] – o Latin1 – [x80-x9F] (también conocido como los caracteres de control C1).

El problema con las clases POSIX como [:print:] o p{Print} es que pueden hacer coincidir diferentes cosas según el tipo de expresión regular y, posiblemente, la configuración regional de la plataforma subyacente. En Java, están estrictamente orientados a ASCII. Eso significa p{Print} coincide solo con los caracteres de impresión ASCII – [x20-x7E] — tiempo P{Cntrl} (tenga en cuenta la ‘P’ mayúscula) coincide con todo lo que es no un carácter de control ASCII – [^x00-x1Fx7F]. Es decir, coincide con cualquier carácter ASCII que no sea un carácter de control, o cualquier carácter que no sea ASCII, incluidos los caracteres de control C1.

Hay una designación de clase de carácter POSIX [:print:] que debe coincidir con los caracteres imprimibles, y [:cntrl:] para personajes de control. Tenga en cuenta que estos códigos coinciden en toda la tabla ASCII, por lo que es posible que no sean adecuados para hacer coincidir otras codificaciones.

Si eso falla, la expresión [x00-x1f] coincidirá a través de los caracteres de control ASCII, aunque nuevamente, estos podrían imprimirse en otras codificaciones.

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


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

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