複数のネットワークパスの場所を含む文字列があります。2、3、または任意の数にすることができます。いくつかのパスに分割したい。正規表現を使用していますが、望ましい結果が得られていません。
string samplePath = "\\Computer1\Folder\Folder \\Computer2\Folder\New Folder \\Computer\New Folder"
フォルダ名にスペースを含めることができるため、スペースをデリム文字として使用してこれを分割することはできません。これが、希望する結果を得るために使用している正規表現です。
var pattern = @"^\\{2}[\w-]+(\\{1}(([\w-][\w-\s]*[\w-]+[$$]?)|([\w-][$$]?$)))+";
var matches = Regex.Matches(samplePath, pattern, RegexOptions.IgnoreCase);
foreach (var match in matches)
myCollectionList.Add(match.ToString());
この後に何が起こるかというと、私は1つの結果(最初のパス)しか得られないということです。一致数は1です。問題はどこにありますか。