下面的代码工作正常,并在方括号内给出值(但我希望它在不使用方括号的情况下返回值,输出给我该值但带有方括号)
string regularExpressionPattern = @"\[(.*?)\]";
string inputText = "Find string inside brackets [C#.net] and [Vb.net] example.";
Regex re = new Regex(regularExpressionPattern);
foreach (Match m in re.Matches(inputText))
{
Console.WriteLine(m.Value);
}
Console.ReadLine();
}
输出:
[C#.net]
[Vb.net]
[ASP.net]
预期输出:
C#.net
Vb.net
ASP.net
答案 0 :(得分:1)
使用 m.Groups [1] .Valu e在foreach循环中获取所需的值:
void Main()
{
string regularExpressionPattern = @"\[(.*?)\]";
string inputText = "Find string inside brackets [C#.net] and [Vb.net] example.";
Regex re = new Regex(regularExpressionPattern);
foreach (Match m in re.Matches(inputText))
{
Console.WriteLine(m.Groups[1].Value);
}
}
答案 1 :(得分:0)
而不是m.Value
,请使用您未公开的语言使用的任何方法来获得第一组,例如在C#.NET中:
m.Groups[1]