我正在使用C#和Visual Studio 2010.我只是想匹配一个字符串(在这种情况下是一个路径)并创建一个模式,这将帮助我弄清楚它是否是一个有效的模式.以下示例由仲裁示例组成,但它们确实包含
所以我试图创建一个匹配UNC路径的模式,该路径以字符串形式出现.例如:
"\\\\Apple-butter27\\AliceFakePlace\\SomeDay\\Grand100\\Some File Name Stuff\\Yes these are fake words\\One more for fun2000343\\myText.txt"
Run Code Online (Sandbox Code Playgroud)
上面是我试图模式匹配的文件路径的示例.我试图将它与这种模式匹配:
@"\\\\[a-zA-Z0-9-]+\\\w+\\\w+\\\w+\\((\w+)*(\s+)*)*\\((\w+)*(\s+)*)*\\((\w+)*(\s+)*)*\\w+\.txt";
Run Code Online (Sandbox Code Playgroud)
我保证的是在我到达我的文件之前会有7个文件夹.我将不得不为几乎所有细分市场寻找空格,字母和数字的组合.
我尝试通过匹配小位开始尝试,例如我的第一次迭代测试,我尝试将其作为我的模式:
@"\\\\";
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为它将匹配前几个字符,但如果我添加它:
@"\\\\[a-zA-Z0-9-]+";
Run Code Online (Sandbox Code Playgroud)
它失败.所以我想也许是因为字符串导致它加倍,所以我可能要加倍我的"\"所以我再次尝试用8"\"单独,但那失败了.
我以前的模式的目标是匹配"\\\\ Apple-butter27"
我一直在寻找谷歌和整个网站,但我找到的模式匹配UNC的东西都不是我的问题.
如果有人能告诉我这种模式我做错了什么,我真的很感激.至少是一个起点,因为我知道它很长,可能会是一个非常复杂的起点...但如果有人能指出一般的事情是错误的.
虽然因为它是非字符串状态的路径,它看起来像这样:
\\Apple-butter27\AliceFakePlace\SomeDay\Grand100\Some File Name Stuff\Yes these are fake words\One more for fun2000343\myText.txt
Run Code Online (Sandbox Code Playgroud)
我很想尝试与UNC路径进行模式匹配,所以它开始真的让我感到困惑,所以如果有人能照亮我的路,我会非常感激.
我正在使用Regex 的.Success函数来查看模式是否匹配,如果匹配成功或失败,我只是打印一条消息.我的主要关注点是模式,除非对使用路径作为解决方案的字符串以外的其他东西有一些很好的见解.