C# 狡猾的反斜杠-Regex的例子
我错过了一些很明显的东西,但我就是看不到 我有:C# 狡猾的反斜杠-Regex的例子,c#,regex,C#,Regex,我错过了一些很明显的东西,但我就是看不到 我有: string input = @"999\abc.txt"; string pattern = @"\\(.*)"; string output = Regex.Match(input,pattern).ToString(); Console.WriteLine(output); 我的结果是: \abc.txt 我不想要斜杠,也不明白为什么斜杠会潜入输出。我尝试翻转图案,斜线再次出现在输出中: string pattern = @"^(.*)
string input = @"999\abc.txt";
string pattern = @"\\(.*)";
string output = Regex.Match(input,pattern).ToString();
Console.WriteLine(output);
我的结果是:
\abc.txt
我不想要斜杠,也不明白为什么斜杠会潜入输出。我尝试翻转图案,斜线再次出现在输出中:
string pattern = @"^(.*)\\";
并获得:
999\
奇怪。在Osherove的调节器中效果良好。有什么想法吗
谢谢。比赛就是全部比赛;你想要第一组
string output = Regex.Match(input,pattern).Groups[1].Value;
(来自内存;可能略有不同)匹配是整个匹配;你想要第一组
string output = Regex.Match(input,pattern).Groups[1].Value;
(来自内存;可能略有不同)您需要查看
组中的结果,而不是整个匹配文本
您需要查看组中的结果,而不是整个匹配文本
用于仅获取组,而不是整个匹配:
string output = Regex.Match(input, pattern).Groups[1].Value;
用于仅获取组,而不是整个匹配:
string output = Regex.Match(input, pattern).Groups[1].Value;
作为Marc答案的替代方案,您可以在模式中使用:
string pattern = @"(?<=\\)(.*)";
string pattern=@”(?作为Marc答案的替代方案,您可以在模式中使用:
string pattern = @"(?<=\\)(.*)";
stringpattern=@”(?您可以尝试匹配前缀/后缀,但不包括选项
匹配第一个斜杠后的所有内容/
(?<=\\)(.*)$
(?<=\\)([^\\]*)$
^(.*)(?=\\)
顺便说一句,下载用于测试正则表达式的total life saver。您可以尝试匹配前缀/后缀,但不包括选项
匹配第一个斜杠后的所有内容/
(?<=\\)(.*)$
(?<=\\)([^\\]*)$
^(.*)(?=\\)
顺便说一句,下载用于测试正则表达式,total life saver。只是为了澄清为什么索引为1而不是0分为组,这是因为索引为0会返回一个代表整个匹配的组。只是为了澄清为什么索引为1而不是0分为组,这是因为索引为0ex of 0返回一个表示整个匹配的组。