首先对tittle抱歉。不知道如何解释它。 这是我的代码:
string sString = @"docs/horaires/1/images/1"
var PickImage = Regex.Matches(sString, "/horaires/(.*?)/images/");
Console.WriteLine(PickImage[0].Value);
这将打印/horaires/1/images/
而不是1
。我尝试了所有RegexOptions
,但没有在那里找到解决方案。
我在这里做错了什么?
答案 0 :(得分:0)
这就是你需要的:
string sString = @"docs/horaires/1/images/1";
var pickImage = Regex.Match(sString, @"/horaires/(.*?)/images/");
if (pickImage.Success)
Console.WriteLine(pickImage.Groups[1].Value);
在原始代码中,PickImage[0]
是Match
对象,Value
将返回完整匹配。您想要第一个捕获的组,因此请使用match.Groups[1].Value
。请注意,Groups[0]
始终包含完整匹配。
无需使用Matches
您想要一个结果,而是使用Match
。