как удалить все строки, содержащие менее 3 букв перед «:» в блокноте ++

-2

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

Полный пример файла, содержащего:

@user1example:keepline6
~!@#$%^&*(1)_+:deleteline1
..........:deleteline2
[45364\H]..;".:deleteline3
t!esting.1:keepline9
...+++#$29:deleteline4
5666D6666X67:deleteline32
namestart:keepline0
..............:deleteline8
____________:deleteline7
~!@#$%^&*()+=_-[]{}\/';.<>,:deleteline11
1start$go2deep_:keepline20
#(gold2bestar):keepline15
%%....^\/~`"':deleteline50
...e...y%%..~@:deleteline14
A``!!!!236g...:deleteline17
username9example1:5password0example1
554425$%^921:deleteline18
+++++++++++++++++:deleteline74
use123:keepline100
.....E_______:deleteline43
!!!!!!!!!!!P:deleteline47
Dy!!..,,(_)*&:deleteline49
&####...$,,,,,FW:deleteline66
4644848We:deleteline84
Zx5654644889:deleteline96
21Gt:deleteline89
@dF.:deleteline67
username@gmail.com:password12
¥5G5Y.....:deleteline94
user@yahoo.com:password1

Нужен результат:

@user1example:keepline6
t!esting.1:keepline9
namestart:keepline0
1start$go2deep_:keepline20
#(gold2bestar):keepline15
username9example1:5password0example1
use123:keepline100
username@gmail.com:password12
user@yahoo.com:password1
DeathRival
источник
1
-1 для использования заглавных букв в каждом слове, пожалуйста, измените его. Также неясно, что вы подразумеваете под «этим разделением», пожалуйста, опубликуйте несколько положительных примеров для каждого из ваших критериев.
Матэ Юхас
я имею в виду это ":" между именем пользователя и паролем, например, имя пользователя: пароль. Я хочу изменить имя пользователя, и извините, что я изменю его
DeathRival
теперь его хорошо Оо?
DeathRival
Я до сих пор не понимаю :(. Опять же: «пожалуйста, опубликуйте несколько положительных примеров для каждого из ваших критериев», не только опубликуйте ожидаемый результат, но и приведите пример удаляемых строк, объясняющих, почему его нужно удалить.
Máté Juhász
потому что я хочу сохранить только строки, содержащие имя пользователя: пароль с именем пользователя не менее 3 букв на нем, а остальные удалены, и большинство строк в моем файле имеют много таких, которые я только что показал
DeathRival

Ответы:

2
  • Ctrl+H
  • Найти то, что: ^(?:[^a-z]*[a-z]){0,2}[^a-z:]*:.*\R|^[^:]{0,2}:.*\R|^[^:]*:.{0,2}\R
  • Заменить: EMPTY
  • Replace all

Объяснение:

^               : begining of line
  (?:           : start non capture group
    [^a-z]*     : 0 or more any character that is not a letter
    [a-z]       : a letter
  ){0,2}        : group is repêated up to 2 times
  [^a-z:]*      : 0 or more character that is not letter or :
  :             : literally :
  .*            : 0 or more any character
  \R            : any kind of line break

 |              : OR

^               : begining of line
  [^:]{0,2}     : 0 up to 2 character that is not :
  :             : literally :
  .*            : 0 or more any character
  \R            : any kind of line break

 |              : OR

^               : begining of line
  [^:]*         : 0 or more character that is not :
  :             : literally :
  .{0,2}        : up to 2 any character
  \R            : any kind of line break
  • НЕ ПРОВЕРИТЬ . matches newline

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

@user1example:keepline6
t!esting.1:keepline9
namestart:keepline0
1start$go2deep_:keepline20
#(gold2bestar):keepline15
username9example1:5password0example1
use123:keepline100
username@gmail.com:password12
user@yahoo.com:password1
Toto
источник
ты бог, большое спасибо за
твою беззаветную
@DeathRival: Пожалуйста, рад, что это помогает.
Тото