我有一个字符串,
"{'Name':'AllSecurityUpdates-Today' , 'Value':'test'}"
我想将Name
的值提取为AllSecurityUpdates-Today
,将Value
的值提取为test
。请帮我一个正则表达式。
答案 0 :(得分:3)
兄弟 对于javascript和c#中的情况,使用 JSON 而不是正则表达式。
的javascript:
var a = {Name:'AllSecurityUpdates-Today', Value:'test'};
var name = a.Name;
var val = a.Value;
C#:
使用属性Name和Value
创建一个对象var a = new JavaScriptSerializer().Deserialize<YourObject>("{'Name':'AllSecurityUpdates-Today' , 'Value':'test'}")
答案 1 :(得分:1)
试试这个
string input = "{'Name':'AllSecurityUpdates-Today' , 'Value':'test'}";
string pattern = @":\'(?'name'[^\']+)[^\:]+:\'(?'value'[^\']+)";
Match match = Regex.Match(input, pattern);
Console.WriteLine("Name = {0}, Value = {1}", match.Groups["name"].Value, match.Groups["value"].Value);
答案 2 :(得分:0)
c#code
private static string ExtractJist(string freeText)
{
StringBuilder patternBuilder = new StringBuilder();
patternBuilder.Append(@"Name: (?<name>.*$)\n").Append("Value: (?<value>.*$)\n");
Match match = Regex.Match(freeText, patternBuilder.ToString(), RegexOptions.Multiline | RegexOptions.IgnoreCase);
string name= match.Groups["name"].ToString();
string value= match.Groups["value"].ToString();
return string.Concat(name, "|", value);
}
按如下方式调用方法:
string source = @"name: AllSecurityUpdates-Today
value: test";
string extracted = ExtractJist(source);