[正则表达式]高分求助, 如何书写(包含匹配)的正则表达式
[正则表达式]高分求助, 如何书写(包含匹配)的正则表达式
搜了半天, 也没找出国所以然来
源串:
<table>
<tr><td>aaaaa</td></tr>
<tr><td>aabcb</td></tr>
<tr><td>bbbb</td></tr>
</table>
目标:
我要匹配, 包含abc的<tr>到</tr> 之间的内容, 正则咋写, 拾到半天搞不定(也就是说,我要匹配第二个tr之间的内容含<tr>)
[解决办法]
(?i)<tr>.*?abc.*?</tr>
[解决办法]
void Main(){ string hcontent2=@"<table> <tr><td>aaaaa</td></tr> <tr><td>aabcb</td></tr> <tr><td>bbbb</td></tr></table>";foreach(Match m in Regex.Matches(hcontent2, @"(?i)<tr>.*?abc.*?</tr>")) { Console.WriteLine(m.Value); } /* <tr><td>aabcb</td></tr */}
[解决办法]
目标为什么是:
<tr>
Tar_Candle
</tr>
[解决办法]
void Main(){ string hcontent2=@"<table><tr>12343<tr><tr>3454afsadf35<tr></table><table><tr><table><tr>Tar_Candle</tr></table></tr><tr>Tar_Abc</tr><tr>aaa</tr></table><table><tr>adaf</tr><tr>xys</tr></table>";foreach(Match m in Regex.Matches(hcontent2, @"(?is)<tr>((?!</?tr>).)*?Candle((?!</tr>).)*?</?tr>")) { Console.WriteLine(m.Value); } /* <tr> Tar_Candle </tr> */}