【发布时间】:2015-03-04 08:11:29
【问题描述】:
我有以下代码:
using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var r = new Regex(@"_(\d+)$");
string new_name = "asdf_1";
new_name = r.Replace(new_name, match =>
{
Console.WriteLine(match.Value);
return match.Value;
//return (Convert.ToUInt32(match.Value) + 1).ToString();
});
//Console.WriteLine(new_name);
}
}
我希望match.Value 是1,但它打印为_1。我做错了什么?
【问题讨论】:
-
从模式中删除_?
-
@Selman22 我不能,
_是一个重要的分隔符,我需要检查它。关键是,_不在捕获组中,所以它不应该出现。我想让它按原样与_一起工作。 -
match.Value是整个匹配项。使用 match.Groups[1].Value.