Abbinare una stringa di testo ASCII del modulo ^X
utilizzando il modello \^.
, niente di più. Abbina una stringa di testo ASCII del modulo \^X
con il modello \\\^.
. Potresti voler limitare quel punto a [[email protected]_\[\]^\\]
, quindi \\\^[[email protected]_\[\]^\\]
. È più facile leggere come [?\x40-\x5F]
per la classe di caratteri con bracketing, quindi \\\^[?\x40-\x5F]
per un BACKSLASH letterale, seguito da un CIRCUMFLEX letterale, seguito da qualcosa che diventa uno dei caratteri di controllo validi.
Nota che questo è il risultato della stampa del motivo o di ciò che hai letto da un file. È ciò che devi passare al compilatore regex. Se lo hai come stringa letterale, devi ovviamente raddoppiare ciascuno di quei backslash. `\\\\\\^[?\\x40-\\x5F]"
Sì, è assurdo, ma perché Java non supporta regex direttamente come Groovy e Scala - o Perl e Ruby - fanno. Il lavoro di Regex è sempre più facile senza l'extra bbaacckksslllllaasshheesssssess. :)
Se avete avuto caratteri di controllo veri e propri, invece di rappresentazioni indirette di loro, si usa \pC
per tutti i punti di codice letterali con la proprietà GC = Altro, o \p{Cc}
solo per GC = Controllo.
Questo non ha senso per me. C'è una barra rovesciata lì? Sono questi veri caratteri di controllo, o qualche sequenza ASCII che implica lo stesso? Perché go \ c @ .. \ cZ solo? Ce ne sono altri, lo sai. – tchrist
Perché stai inserendo il cursore in una classe di caratteri? –
Sto cercando di far corrispondere il testo letterale per i caratteri di controllo, non i caratteri di controllo stessi. –