Vim разделил команду строки [дубликат]

Вы можете использовать

String regex = "(at \\d{2}:\\d{2}:\\d{2} CET \\D{3} \\D{3} \\d+ \\d{4} by \\D{6}).*\\R.*\\1";
                                                                                 ^^^^^^^

См. regex demo .

.*\n.* будет дополнительно соответствовать всей остальной части строки, в которой сопоставлен шаблон группы 1, затем последовательность символов разрыва строки (\R), затем снова любые 0+ символов, кроме символов разрыва строки, а затем подстрока, которая точно такой же, как текст, включенный в группу 1.

Обратите внимание, что вы можете сопоставить первое at как целое слово, используя \b:

String regex = "\\b(at \\d{2}:\\d{2}:\\d{2} CET \\D{3} \\D{3} \\d+ \\d{4} by \\D{6}).*\\R.*\\1";

86
задан Community 23 May 2017 в 12:10
поделиться

5 ответов

Я не думаю, что существует единственная ключевая команда для этого. Лучшее, которое можно сделать с энергией запаса, вероятно , я Ввожу Esc .

41
ответ дан Stefan van den Akker 24 November 2019 в 07:56
поделиться

r Входят , в то время как на пробеле сделает это. Это - два нажатий клавиш.

169
ответ дан Stefan van den Akker 24 November 2019 в 07:56
поделиться

Нет. Я теперь прочитал достаточно ответов, чтобы прийти к заключению, что нет такой команды.

Легкий ответ: Нажатие 'Enter', в то время как во вставке сделает это; но Вы правы, там oughtta быть ключом для него в командном режиме. Я задался вопросом, также.

, Так как у всех есть любимое обходное решение, я совместно использую мой. Предположение - то, что я сделаю что-либо , чтобы избежать необходимости достигать клавиши Esc.

ylprX..., где 'X' вставленный символ, который может даже быть новая строка .

Так, 'yl' является рывком на символе направо, 'p' = вставляют символ, 'r' является заменой тот символ; тогда Вы просто вводите новый символ. Это , насколько я очень не хочу использовать Escape.

(Который был 'l', как в "праве перемещения", BTW)

21
ответ дан gbarry 24 November 2019 в 07:56
поделиться

Вы можете разделить строки, если вы можете создать регулярное выражение для местоположения, чтобы добавить разделение. Например, если вы хотите разделить строки каждой точкой с запятой, вы можете использовать следующую замену:

% s /; / ^ v ^ m / g

для большего эффекта

6
ответ дан 24 November 2019 в 07:56
поделиться

Ответ Джеда очень полезен. Я хотел бы добавить, что мне нужна была «альтернатива control-V», то есть control-Q: % s /; / ^ q ^ m / g

0
ответ дан 24 November 2019 в 07:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: