-3

我希望将以下代码转换为路径是字符串的正则表达式测试。

path.Contains(".git") || path.Contains("_ReSharper") || path.Contains("\\Bin\\") 
|| path.Contains("\\obj\\") || path.Contains("\\bin\\") || path.Contains("\\ipch\\") 
|| path.Contains("\\.git") || path.EndsWith("\\bin") || path.EndsWith("\\obj") 
|| path.EndsWith("\\Bin") || path.EndsWith("\\ipch"); 

任何帮助将非常感激。干杯

4

1 回答 1

3

(\.git|_ReSharper|\\[bB]in\\|\\obj\\|\\ipch\\|\\\.git|\\[bB]in$|\\obj$|\\ipch$)

可以在http://www.regular-expressions.info/reference.html找到此正则表达式中所有运算符的完整说明

但基本上:

- 元字符喜欢.并且\需要用反斜杠转义才能从字面上解释它们

-|表示“匹配左侧或匹配右侧”。这就像正则表达式的 OR。

-$表示“字符串的结尾必须出现在此处”(或在多行正则表达式模式下,行或字符串的结尾)

如果将其粘贴到 C# 字符串中,请确保它是 @"" 字符串(以转义具有特殊含义的反斜杠)或将所有反斜杠加倍(类似于您现在正在做的事情)。

编辑:较短的版本,在注意到 contains.git和 contains\.git是多余的之后

(\.git|_ReSharper|\\[bB]in(\\|$)|\\obj(\\|$)|\\ipch(\\|$))

于 2013-05-06T01:54:46.140 回答