Получить определенный диапазон с регулярным выражением в строке
REGEX:
-(.*).......:
ДАННЫЕ
SRV-srvdata-q_SRV_20:DAT SRV-srvdata-p:DAT
ВЫХОД
hoinvap01-q hoha
ЦЕЛЬ
srvdata-q srvdata-p
Вы хотите сопоставить любые 1+ символов от первого дефиса до первого _ или :.
_
:
Вы можете использовать
-([^:_]+)
См. Регулярное выражение демо
[^:_]+ будет соответствовать любым 1+ символам, кроме : и _.
[^:_]+