Haga coincidir una cadena de texto ASCII del formulario ^X
usando el patrón \^.
, nada más. Haga coincidir una cadena de texto ASCII del formulario \^X
con el patrón \\\^.
. Es posible que desee restringir ese punto a [[email protected]_\[\]^\\]
, por lo que \\\^[[email protected]_\[\]^\\]
. Es más fácil leer como [?\x40-\x5F]
para la clase de caracteres entre corchetes, de ahí \\\^[?\x40-\x5F]
para un RETROCESO literal, seguido de un CIRCUMFLEX literal, seguido de algo que se convierte en uno de los caracteres de control válidos.
Tenga en cuenta que ese es el resultado de imprimir el patrón, o lo que habría leído de un archivo. Es lo que necesita pasar al compilador de expresiones regulares. Si lo tiene como un literal de cadena, debe, por supuesto, duplicar cada una de esas barras invertidas. `\\\\\\^[?\\x40-\\x5F]"
Sí, es una locura, pero es porque Java no admite expresiones directas directamente como Groovy y Scala, o Perl y Ruby. El trabajo de Regex siempre es más fácil sin el extra de bbaacckksslllllaasshheesssssess. :)
Si tuviera caracteres de control reales en lugar de representaciones indirectas de ellas, se usaría \pC
para todos los puntos de código literal con la propiedad GC = Otro o \p{Cc}
por sólo GC = control.
Eso no tiene sentido para mí. ¿Hay una barra invertida allí? ¿Estos caracteres de control reales, o alguna secuencia ASCII implica lo mismo? ¿Por qué solo ir \ c @ .. \ cZ? Hay otros, ya sabes. – tchrist
¿Por qué estás poniendo el cursor en una clase de personaje de todos modos? –
Estoy tratando de hacer coincidir el texto literal para los caracteres de control, no los propios caracteres de control. –