Test123:Password:7 AUG 2018
Test123:Password:7 AUG 2018
Test123:Password:7 AUG 2018

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

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

2 ответа2

0

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

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

Поиск:

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

Заменить:

\1

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

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

Объяснение:

^           # beginning of line
  (?:       # start non capture group
    [^:]+   # 1 or more any character that is not a colon
    :       # 1 colon
  ){2}      # 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .