Вот регулярное выражение, объединяющее ваши 3 в одно регулярное выражение с 3 различными группами захвата:
\w:\/{2}(\w+):(\w+)@(\w+\.\w+)
Они кажутся довольно простыми и быстрыми регулярными выражениями, но вот хороший инструмент для проверки ваших регулярных выражений: https://regex101.com/. Он показывает, сколько шагов нужно выполнить, основываясь на ваших примерах и группах захвата. Для меня это один из первых инструментов, которые я использую при работе с новым регулярным выражением, которое не простое.
Что касается улучшения регулярных выражений, вы хотите попробовать и заставить движок выполнять как можно меньше шагов. Таким образом, быстрое сопоставление и быстрый сбой в регулярном выражении помогут. Например, если это всегда mysql2, вы можете вместо этого запустить регулярное выражение с 2:\/{2}
, и это сокращает 10 шагов на основе регулярного выражения, которое у меня есть выше.