我想使用正则表达式从行中获取文本
例如:
string xyz = "text/plain; charset=US-ASCII; name=\"anythingfile.txt\"";
我想从那行获取anythingfile.txt
这意味着我想创建与模式name=""匹配的正则表达式,并在我尝试过的双引号之间获取字符串
regex re= new regex(@"name="\"[\\w ]*\""")
但没有得到正确的结果....请帮助我。
你真的需要正则表达式吗?简单的字符串操作可能就足够了:
var NameValue = xyz.Split(';')
.Select(x => x.Split('='))
.ToDictionary(y => y.First().Trim(), y => y.LastOrDefault());
最好的方法是使用命名组:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string xyz = "text/plain; charset=US-ASCII; name=\"anythingfile.txt\"";
Match m = Regex.Match(xyz, "name=\"(?<name>[^\"]+)\"");
Console.WriteLine(m.Groups["name"].Value);
Console.ReadKey();
}
}