我正在使用C#和Visual Studio 2010.我只是想匹配一个字符串(这是一个路径在这种情况下),并创建一个模式,将帮助我弄清楚如果这是一个有效的模式与否。下面的例子是由任意组成的,但他们确实包含模式匹配路径+文件(UNC?)
所以我想创建一个模式,将匹配一个UNC路径进入一个字符串。例如:
"\\\\Apple-butter27\\AliceFakePlace\\SomeDay\\Grand100\\Some File Name Stuff\\Yes these are fake words\\One more for fun2000343\\myText.txt"
以上就是我想要模式匹配的文件路径的一个例子。我试图用这个模式匹配它:
@"\\\\[a-zA-Z0-9-]+\\\w+\\\w+\\\w+\\((\w+)*(\s+)*)*\\((\w+)*(\s+)*)*\\((\w+)*(\s+)*)*\\w+\.txt";
我保证的广告事情是会有7个文件夹,直到我达到我的文件(S)。我将不得不为所有细分市场寻找空格,字母和数字组合。
我曾尝试通过小位开始匹配,如我的测试中第一次迭代我想这是我的模式:
@"\\\\";
而且这个工程,因为它会匹配前几个字符,但如果我添加这对它:
@"\\\\[a-zA-Z0-9-]+";
它失败。所以我想也许是因为字符串导致它翻倍,所以我可能不得不加倍我的“\”,所以我再次用8“\”来尝试,但是失败了。
我与以前的模式的目标是匹配“\\\\苹果butter27”
我一直在寻找对谷歌和所有在这个网站,但没有一个模式匹配UNC的东西,我发现是我的问题。
我真的很感激,如果有人能告诉我我在做什么这个模式错了。至少有一个起点,因为我知道这很长,可能会是一个非常复杂的问题......但是如果有人能指出一些普通的东西是错误的。
虽然,因为它是在非字符串状态的路径,它看起来是这样的:
\\Apple-butter27\AliceFakePlace\SomeDay\Grand100\Some File Name Stuff\Yes these are fake words\One more for fun2000343\myText.txt
我新的尝试模式与UNC路径匹配,所以它开始真正迷惑我,所以如果有人能照亮方式,我会很感激。
我正在使用。成功正则表达式的函数来查看模式是否匹配,如果匹配成功或失败,我只是在打印消息。我的主要焦点是模式,除非有一些很好的洞察力,将解决方案的字符串用作路径而不是字符串。
我会建议不要总是假设正则表达式是所有问题的最佳工具!由于您的假设,这是[XY问题](http://meta.stackexchange.com/a/66378)。 –
我在想Regex是我的解决方案。我想验证路径是否是某种特定的方式,如果不是这样,我希望它停止沿某个文件路径前进,并继续向其他人查找它想要的信息。 – user3003304