删除以给定字符串开头的行和以下n行

时间:2016-10-26 13:32:45

标签: regex notepad++

我有一个类似下面的文件HTML:

      <tr>
        <td>SOMETHING1</td>
        <td>SOMETHING2</td>
        <td>SOMETHING3</td>
      </tr>
      <tr>
        <td>SOMETHING1</td>
        <td>SOMETHING2</td>
        <td>SOMETHING3</td>
      </tr>
      <tr>
        <td>SOMETHING1</td>
        <td>SOMETHING2</td>
        <td>SOMETHING3</td>
      </tr>

    </table>
    <br>
    </div>
    <a href="javascript:;" onmousedown="toggleDiv('20161023');">Sunday 23 ...   </a></h3>
    <br>
    <div class="time_div" id="20161023" style="display:none">
    <p class="dep_parag">Test automation on Sunday 23 October</p>
    <table id="table" border="1" cellpadding="3" cellspacing="0">

    <tr>
        <td>SOMETHING1</td>
        <td>SOMETHING2</td>
        <td>SOMETHING3</td>
      </tr>
      <tr>
        <td>SOMETHING1</td>
        <td>SOMETHING2</td>
        <td>SOMETHING3</td>
      </tr>
      <tr>
        <td>SOMETHING1</td>
        <td>SOMETHING2</td>
        <td>SOMETHING3</td>
      </tr>

正如您所看到的,有一个表行列表除以带有一些javascript的部分(该部分以 开头并以 结束)

这只是一个包含300.000多个表行的html页面的提取!

我要删除带有javascript的部分,因为我需要一个很长的表行列表,干净,它们之间没有任何内容。

而不是手动操作,这很疯狂,我想要一些东西(正则表达式)只需点击一下即可清理文件(我用它在NOTEPAD ++上运行简单的正则表达式,但这个对我来说有点困难)

我在考虑类似的事情:

中的所有行删除为 cellspacing =“0”&gt;

或者

删除 中的所有行,然后删除8行。

有人可以这么温柔地帮助我使用这个正则表达式吗?

非常感谢! :)

3 个答案:

答案 0 :(得分:2)

假设您没有关注不规则的空白,那么搜索模式如何:

</table>.*?<table.*?>

空白&#34; 替换为&#34;字符串,勾选&#34; 正则表达式&#34;和&#34; 。匹配换行&#34;选项。

答案 1 :(得分:1)

我不太明白你要删除的部分(我的理解是从</table>cellspacing="0">?),但它应该相当容易。你的意思是这样的吗?

<a href="javascript([^\n]+\r\n){5}

答案 2 :(得分:1)

这个正则表达式将用于标记 s 单行用于php,python,用于java启动表达式,带有 DOTALL 选项

\<\/table\>.+?(?=javascript\:\;).+?(?=\<table.+?cellspacing\=\"0\"\>)\<table.+?cellspacing\=\"0\"\>