请教一个正则表达式的问题(急啊)
string match="<tp:data.*?field=\\s*?[\\'\"](.+)[\\'\"].*?><\\/tp:data>";
string s="<tp:data field='project'></tp:data>select<tp:data field='tree'></tp:data>";
MatchCollection mc=Regex.Matches(s,match);
foreach(Match m in mc)
{
t2.AppendText(m.Value+"\r\n");
}
问题在于,我想得到两个形式如<tp:data field='project'></tp:data>的表达式,但是结果却是
<tp:data field='project'></tp:data>select<tp:data field='tree'></tp:data>
中间的"select"不能消去.
.*?><\\/tp:data>这里应该如何设置,才可以把所有符合形式如<tp:data field='project'></tp:data>都选出呢,请问!
问题点数:40、回复次数:2Top
1 楼saucer(思归)回复于 2005-04-01 22:41:07 得分 40
string match="<tp:data[^>]*?field=\\s*?('[^']+'|\"[^\"]+\"|\\S+)[^>]*?><\\/tp:data>";
string s="<tp:data field='project'></tp:data>select<tp:data field='tree'></tp:data>";
MatchCollection mc=Regex.Matches(s,match);
foreach(Match m in mc)
{
Console.WriteLine(m.Value);
}Top
2 楼sugarsupper(智慧之刃)回复于 2005-04-01 22:48:05 得分 0
saucer(思归)大老强啊,非常感谢啊.Top




