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

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

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

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

24
задан grawity
05.01.2023 12:40 Количество просмотров материала 2455
Распечатать страницу

2 ответа

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

в диалоге вы увидите:

найти:

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

заменить на:


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

0
отвечен Igb 2023-01-06 20:28
  • Ctrl+H
  • найти: ^(?:[^:]+:){2}\K.+$ или ^[^:]+:[^:]+\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:

или (в зависимости от используемого regex)

Test123:Password
Test123:Password
Test123:Password
0
отвечен Toto 2023-01-06 22:45

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх