Следующее Regex должно обрабатываться на C#:Регулярное выражение в C#, обнаруживающее все имена папок, содержащие [| ]
Я хочу найти все строки, содержащие '[' или ']'.
И он должен соответствовать следующим строкам;
...an folder ] ...
...and ] another...
...[so] this is...
...and [ a few more]...
...lorem ipsum[...
следующий код обыкновение компиляции:
string pattern ="\.*(\[|\])\.*";
List<string> directoriesMatchingPattern= Util.GetSubFoldersMatching(attachmentDirectory,pattern);
И реализации:
public static List<string> GetSubFoldersMatching(string attachmentDirectory, string pattern)
{
List<string> matching = new List<string>();
foreach (string directoryName in Directory.GetDirectories(attachmentDirectory))
{
Match match = Regex.Match(directoryName, pattern, RegexOptions.IgnoreCase);
if (match.Success)
{
matching.Add(directoryName);
}
else
{
matching.AddRange(GetSubFoldersMatching(directoryName,pattern));
}
}
return matching;
}
Ошибка показывает Visual Studio является:
Error Unrecognized escape sequence
Как это исправить, или как избежать этих символов LY? googling arround вообще не помог.
Поскольку регулярное выражение по умолчанию будет соответствовать в любой точке строки, в начале и конце шаблона нет необходимости в '. *'. Следующее должно работать нормально: 'string pattern = @" [\ [\]] ";' – Iridium