O seguinte regex deve funcionar:
protocol [^ ]+|HOST \d+\.\d+\.\d+\.\d+|PORT \d+
Estou usando o Sublime Text para testá-lo, mas também deve funcionar no Notepad ++.
Veja como funciona: é composto de três partes:
-
protocol [^ ]+ -
HOST \d+\.\d+\.\d+\.\d+ -
PORT \d+
| significa que qualquer uma dessas partes pode ser correspondida.
Primeira parte: protocol [^ ]+
protocol (incluindo o espaço após l ) simplesmente corresponde à palavra protocol e ao espaço seguinte. [^ ] corresponde a um caractere não espacial e + significa corresponder a um ou mais símbolos anteriores, portanto, [^ ]+ corresponderá a um ou mais símbolos não espaciais.
Segunda parte: HOST \d+\.\d+\.\d+\.\d+
HOST corresponde ao texto como na primeira parte. Depois, há \d , que corresponde a um dígito e + , que tem o mesmo significado acima. \. corresponderá a pontos regulares. Ao contrário das letras, um ponto deve ser precedido por uma barra invertida, porque tem um significado especial nas expressões regulares.
A terceira parte é ainda mais simples que a segunda, por isso não acho que sejam necessárias explicações.
Se você quiser saber mais sobre expressões regulares, este tutorial é muito bom e aqui é um bom testador / depurador de regex .