Как удалить все после следующего двоеточия

649
Rick
Test123:Password:7 AUG 2018 Test123:Password:7 AUG 2018 Test123:Password:7 AUG 2018 

Я хочу удалить все после второго двоеточия для всех строк,

Я пытался, ^([^:]*.[^:]*):.*$и это не сработало,

0

2 ответа на вопрос

0
Igb

Ваше регулярное выражение кажется хорошим, я подозреваю, что проблема в том, что вы не сказали notepad ++ (я полагаю, что вы используете этот редактор, поскольку он присутствует в тегах), что вы хотите сохранить определенную группу, а не все совпадение (которое в твоем примере бывает целая строка).

В диалоге вы должны увидеть:

Поиск:

^([^:]*.[^:]*):.*$ 

Заменить:

\1 

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

0
Toto
  • Ctrl+H
  • Найдите что: ^(?:[^:]+:)\K.+$ИЛИ ^[^:]+:[^:]+\K:.+$если вы хотите удалить второе двоеточие
  • Заменить: LEAVE EMPTY
  • проверить обернуть
  • проверьте регулярное выражение
  • НЕ ПРОВЕРИТЬ . matches newline
  • Replace all

Объяснение:

^ # beginning of line (?: # start non capture group [^:]+ # 1 or more any character that is not a colon : # 1 colon ) # end group, must appear twice \K # forget all we have seen until this position .+ # 1 or more any character $ # end of line 

Результат для данного примера:

Test123:Password: Test123:Password: Test123:Password: 

ИЛИ (в зависимости от используемого регулярного выражения)

Test123:Password Test123:Password Test123:Password 

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