Соответствует текстовой строке ASCII формы ^X
с использованием рисунка \^.
, ничего более. Сопоставьте текстовую строку ASCII формы \^X
с рисунком \\\^.
. Вы можете ограничить эту точку до [[email protected]_\[\]^\\]
, поэтому \\\^[[email protected]_\[\]^\\]
. Легче читать как [?\x40-\x5F]
для класса символов в квадратных скобках, поэтому \\\^[?\x40-\x5F]
для буквального BACKSLASH, за которым следует буквальный CIRCUMFLEX, за которым следует что-то, что превращается в один из допустимых управляющих символов.
Обратите внимание, что это результат печати шаблона или того, что вы читали из файла. Это то, что вам нужно передать компилятору регулярных выражений. Если у вас есть строковый литерал, вы должны, конечно, удвоить каждую из этих обратных косых черт. `\\\\\\^[?\\x40-\\x5F]"
Да, это безумный взгляд, но это потому, что Java не поддерживает регулярные выражения напрямую, как Groovy и Scala - или Perl и Ruby - do. Работа с регулярными выражениями всегда проще без дополнительных bbaacckksslllllaasshheesssssess. :)
Если у вас были реальные контрольные символы, а не косвенные их представления, вы бы использовали \pC
для всех буквенных кодовых точек с свойством GC = Other или \p{Cc}
для просто GC = Control.
Это не имеет для меня никакого смысла. Есть ли обратная косая черта? Являются ли эти реальные управляющие символы или какая-то последовательность ASCII подразумевает то же самое? Зачем идти \ c @ .. \ cZ? Знаете, есть и другие. – tchrist
Почему вы все равно помещаете каретку в класс символов? –
Я пытаюсь сопоставить буквальный текст для управляющих символов, а не самих символов управления. –