Dopasuj ciąg tekstowy ASCII formularza ^X
, używając wzoru \^.
, nic więcej. Dopasuj ciąg tekstowy ASCII w postaci \^X
z wzorcem \\\^.
. Możesz ograniczyć tę kropkę do [[email protected]_\[\]^\\]
, czyli \\\^[[email protected]_\[\]^\\]
. Łatwiej jest odczytać jako [?\x40-\x5F]
dla kategorii znaków w nawiasach kwadratowych, stąd \\\^[?\x40-\x5F]
dla literalnego BACKSLASH, po którym następuje literalny CIRCUMFLEX, a następnie coś, co zmienia się w jeden z ważnych znaków kontrolnych.
Należy pamiętać, że jest to wynikiem drukowania wzoru lub tego, co przeczytałeś z pliku. To jest to, co musisz przekazać do kompilatora regex. Jeśli masz go jako literał ciąg, musisz oczywiście podwoić każdy z tych ukośników. `\\\\\\^[?\\x40-\\x5F]"
Tak, to jest szalenie wyglądające, ale to dlatego, że Java nie obsługuje wyrażeń regularnych bezpośrednio jako Groovy i Scala - lub Perl i Ruby - do. Praca Regex jest zawsze łatwiejsza bez dodatkowych bbaaccksslllllaasshessesssess. :)
Jeśli dysponujesz prawdziwymi znakami kontrolnymi zamiast pośrednich ich reprezentacji, użyjesz \pC
dla wszystkich dosłownych punktów kodowych z właściwością GC = Inny lub \p{Cc}
dla GC = Kontrola.
To nie ma dla mnie sensu. Czy jest tam backslash? Czy te prawdziwe znaki kontrolne lub niektóre sekwencje ASCII sugerują to samo? Dlaczego warto wybrać tylko \ c @ .. \ cZ? Są inni, wiesz. – tchrist
Dlaczego umieszczasz karetkę w klasie postaci? –
Próbuję dopasować literalny tekst do znaków sterujących, a nie do samych znaków kontrolnych. –