如何使用正则表达式在正向后观和前方之间交替匹配?

时间:2017-03-03 17:50:39

标签: html regex

我有一个正则表达式:(?<=>).*?(?=<),可以正确匹配我的html文本。它可能简化了查询,但并不重要。

我的问题是:如何修改此查询以匹配除了某些单词之外的所有内容?

我要做的是(?<=>).*?(?!ICMJE)(?=<)跳过这个词,但它不能像我的许多试验那样起作用。

html代码段如下:

<th class="header3 banner_color" align="left" valign="top" width="15%">Intervention <sup style="color:blue"> ICMJE </sup>
</th>

最后匹配应该只返回一个“干预”字样。请帮忙。

1 个答案:

答案 0 :(得分:2)

您可以使用否定前瞻(?<=>)((?!ICMJE).)*(?=<)

将匹配除字符串

之外的任何内容

(?<=>)((?!ICMJE).)*(?=<)

  • (?<=>):positive -look后面匹配>字符
  • 除了((?!ICMJE).) 之外,
  • ICMJE匹配任何内容直到换行符
  • (?=<)正面预测以匹配< characterr