Não pode ser feito de uma só vez.
Aqui está uma maneira de fazer o trabalho com várias passagens:
- Ctrl + H
- Encontre o que:
^([^a-z0-9;:]*)([a-z0-9]*)(?1)(.*?[;:].+$)
- Substituir por:
$2$3
- Desmarque o caso de correspondência
- check Embrulhe
- verificar expressão regular
- NÃO VERIFIQUE
. matches newline
- Substituir tudo (Clique aqui quantas vezes forem necessárias, substitui apenas uma parte de caracteres inválidos de cada vez)
Explicação:
^ : begining of line
( : start group 1
[^a-z0-9;:]* : negative character class, 0 or more any character that is not alpha-num or colon or semicolon
) : end group 1
( : start group 2
[a-z0-9]* : character class, 0 or more alpha-num
) : end group 2
(?1) : re-use the pattern in group 1 (ie. [^a-z0-9;:]*)
( : group 3
.*? : 0 or more any character but newline, not greedy
[;:] : a colon or semicolon (the first that exists in a line)
.+ : 1 or more any character but newline (the password)
$ : end of line
) : end group 3
Substituição:
$2 : content of group 2, the alpha-num part of the name
$3 : content of group 3, rest of the line
Resultado para o exemplo dado:
start1:stop.~1@
Stars:B!ge(s+R}\
Step14:St,./\Ert' <== I guess there is a typo in your request
username:P@$$wor'";D
Test;pass;word123
username;password!#$~''123
45Star5Lord1:@T1esting!
usernametest:Pa:ssw/orD$+;