110,571
社区成员
发帖
与我相关
我的任务
分享
<table width="90%" height="0" border="0" align="center" cellpadding="0" cellspacing="0" class="joblist">
<sl.deptlist>
<column>abc</column>
<tr class="deptitem">
<td height="30" colspan="2"><%deptlist.name%></td>
</tr>
<sl.joblist departmentid="<%deptlist.id%>" myfix:"•" myfixa:"[" myfixb:"]">
<tr class="jobitem">
<column>
<td width="70%" height="30">
<a href="<%joblist.url%>" target="_blank" title="<%joblist.title%>"><%joblist.title%></a>
</td>
<td width="30%">
<%joblist.myfixa%> <%joblist.cityname%> <%joblist.myfixb%>
</td>
</column>
</tr>
</sl.joblist>
<column>def</column>
</sl.deptlist>
</table>
string str = File.ReadAllText("D:\\1.txt", Encoding.Default);
var ary = Regex.Matches(str, @"(?<!<sl.joblist.*?)(<column>.*?</column>)|(?<=</sl.joblist>.*?)(<column>.*?</column>)").Cast<Match>().Select(t => t.Value).ToArray();
//先将sl.joblist层的字符替换成空白删除
Regex re1 = new Regex("(?is)<sl.joblist.*</sl.joblist>", RegexOptions.None);
string replaceStr = re1.Replace("text");
//然后再取
Regex re2 = new Regex("(?is)<column>.*?</column>", RegexOptions.None);
MatchCollection mc = re2.Matches(replaceStr );
foreach (Match ma in mc)
{
}
<table width="90%" height="0" border="0" align="center" cellpadding="0" cellspacing="0" class="joblist">
<sl.deptlist>
<column>abc</column>
<tr class="deptitem">
<td height="30" colspan="2"><%deptlist.name%></td>
</tr>
<column>def</column>
</sl.deptlist>
</table>
需要匹配到
<column>abc</column>
<column>def</column>
而不是所有的<column></column>