1

在这个例子中:

<TR valign=top>
    <TD width=2>Region</TD>
    <TD width=3>number</TD>
</TR>
<TR valign=top>
    <TD width=2>camp</TD>
    <TD width=3>33210</TD>
</TR>

需要一个正则表达式来查找“区域”单词并捕获相应的内容<TR>...Region...</TR> ,如下所示:<tr [^ <tr]*(region)[^ <tr]*</tr>

4

1 回答 1

0

你可以试试这个:

<tr(?:(?!</tr>).)+(?:<td[^>]*>Region</td>)(?:(?!</tr>).)*</tr>

基本上:

  • 寻找<tr
  • (?!</tr>后跟任何不是结束标签的东西(?!都是否定的前瞻,它断言以下文本不存在
  • .匹配一个字符
  • +重复前瞻和匹配
  • <td[^>]*>Region</td>将行与“区域”匹配
  • (?!</tr>).- 与第 2 步相同 - 这次是可选的 ( *)
  • </tr>- 匹配结束标签
于 2012-05-21T19:41:23.313 回答