Estoy tratando de hacer coincidir una cadena que contiene ascii imprimible sin algunos caracteres especiales, por ejemplo, el carácter 'x'. Uso esta expresión regular /[.&&[^x]]/ para esta tarea.
Al intentar hacer coincidir si toda la cadena está hecha a partir de esta especificación de caracteres, la expresión regular ya no coincide. /^[.&&[^x]]*$/
Sin embargo, probar esto con el punto normal funciona. /^.*$/ coincide con cada cadena que le lanzo.
Estoy usando Rubí 2.7.2
La expresión regular se construye en tiempo de ejecución y los anclajes /^ ... $/ son necesarios para otros casos extremos.
La expresión regular ASCII imprimible es [ -~] .
Para hacer coincidir cualquier carácter ASCII imprimible que no sea x , simplemente use la resta de clase de carácter en esta clase: [ -~&&[^x]] .
Para hacer coincidir una cadena que solo contiene tales caracteres, use
/\A[ -~&&[^x]]*\z/Vea la demostración de Rubular .