Примечание. Этот ответ предназначен для образовательных целей - лучше использовать объект Uri, а не заново изобретать существующие функции.
То же решение, что и на другой вопрос , но с обратными слешами, обратными и, следовательно, экранированными (и удаленным собственническим квантификатором, поскольку C # регулярное выражение не поддерживает это):
(?<=^\\\\)[^\\]+
Имя сервера будет в \0
или $0
или просто в результате функции, в зависимости от того, как вы ее вызываете и что предлагает C #.
Объяснение в режиме комментариев регулярного выражения:
(?x) # flag to enable regex comments
(?<= # begin positive lookbehind
^ # start of line
\\\\ # escaped backslashes to give literal \\ chars.
) # end positive lookbehind
[^\\]+ # greedily match any non-\ until a \ or end of string found.