1,979
社区成员
发帖
与我相关
我的任务
分享(?<group>(?<prepar>[\(]*)(?<key>\w*)=(?<accurB>[\[])?(?<val>.*?)(?<accurE>[\]])?(#(?<showN>.*?))?(?<tailpar>\)*)\[(?<op>.)\])|((?<prepar>[\(]*)(?<key>\w*)=(?<accurB>[\[])?(?<val>.*?)(?<accurE>[\]])?(#(?<showN>.*?))?(?<tailpar>\)*))


//update
void Main()
{
string s="WC=[cad]#CAD[*](S=cad2[+]YC=1989-2013- A=cad3#CAD3
- )";
var reg=new Regex(@"(?i)(?<key>\w+)=(\[?(?<val>[^]#]+)\]?)(?<shown>#?[\w-]+)?((\[(?<op>[^]]+)\])|\))");
foreach(Match m in reg.Matches(s))
{
Console.WriteLine("{0}:\t{1}","key",m.Groups["key"].Value);
Console.WriteLine("{0}:\t{1}","val",m.Groups["val"].Value);
Console.WriteLine("{0}:\t{1}","shown",m.Groups["shown"].Value.TrimStart('#'));
Console.WriteLine("{0}:\t{1}","op",m.Groups["op"].Value);
Console.WriteLine();
}
/*
key: WC
val: cad
shown: CAD
op: *
key: S
val: cad2
shown:
op: +
key: YC
val: 1989-2013
shown:
op: *
key: A
val: cad3
shown: CAD3
op:
*/
}
void Main()
{
string s="WC=[cad]#CAD[*](S=cad2[+]YC=1989-2013- A=cad3#CAD3
- )";
var reg=new Regex(@"(?i)(?<key>\w+)=(\[?(?<val>[^]#]+)\]?#)?(?<shown>[\w-]+)((\[(?<op>[^]]+)\])|\))");
foreach(Match m in reg.Matches(s))
{
Console.WriteLine("{0}:\t{1}","key",m.Groups["key"].Value);
Console.WriteLine("{0}:\t{1}","val",m.Groups["val"].Value);
Console.WriteLine("{0}:\t{1}","shown",m.Groups["shown"].Value);
Console.WriteLine("{0}:\t{1}","op",m.Groups["op"].Value);
Console.WriteLine();
}
/*
key: WC
val: cad
shown: CAD
op: *
key: S
val:
shown: cad2
op: +
key: YC
val:
shown: 1989-2013
op: *
key: A
val: cad3
shown: CAD3
op:
*/
}