如何修改正则表达式以删除CR或LF之后的所有字符串

时间:2017-12-01 17:16:35

标签: html regex notepad++

我想从热鸟13.0E卫星的一个列频率的转发器获取html 链接到这里:http://pl.kingofsat.net/pos-13E.php

这个保存的html页面庞大,有数千行,难以作为模式呈现。更简单的方法是从中获取简短的摘录。


这是演示的链接:
https://regex101.com/r/9k9NGA/2

在记事本++中

- Ctrl + H
  - 查找内容:.*(\d{5}\.\d{2}).* 定义的频率
    * - 替换为:$1
    * - 检查环绕
    * - 检查正则表达式
* - 全部替换

以下是代码的一部分:

"basc_tp('m0')"><span class="nbc">11</span><a class="bld">Hot Bird 13C</a></td> <td width="7%" class="bld">bbhg 10719.25</td><td width="2%" class="bld">V</td><td class="w3-hide-small" width="3%"><a class="bld"<td class="pos" dir="ltr">13.0&deg;E</td> <td width="20%"><img src="/action_collapse.gif" id="im1" style="cursor: pointer" onclick="basc_tp('m1')"><span class="nbc">3</span><a class="bld">Hot Bird 13B</a></td> <td width="7%" class="bld"> 10727.00</td><td width="2%" class="bld">H</td><td class="w3-hide-small" width="3%"><a class="bld" href="tp.php?tp=225">111</a></td><td class="w3-hide-small" width="10%"><a class="bld" href="pos" dir="ltr">13.0&deg;E</td> <td width="20%"><img src="/action_collapse.gif" id="im2" style="cursor: pointer" onclick="basc_tp('m2')"><span class="nbc">30</span><a class="bld">Hot Bird 13C</a></td> <td width="7%" class="bld"> 10758.00</td><td width="2%" class="bld">V</td><td class="w3-hide-small" width="3%"><a class="bld" href="tp.php?tp=5059">112</a></td><td class="w3-hide-small" width="10%"><a class="bld" href=="cursor: pointer" onclick="basc_tp('m3')"><span class="nbc">19</span><a class="bld">Hot Bird 13C</a></td> <td width="7%" class="bld"> 10775.00</td><td width="2%" class="bld">H</td><td class="w3-hide-small" width="3%"><a class="bld" href="tp.php?tp=227">113</a></td><td class="w3-hide-small" width="10%"><a class="bld" href=></table><div class="frqb"></div></div> <table class="frq"><tr bgcolor="#D2D2D2"> <td class="pos" dir="ltr">13.0&deg;E</td> <td width="20%"><img src="/action_collapse.gif" id="im10" style="cursor: pointer" onclick="basc_tp('m10')"><span class="nbc">16</span><a class="bld">Hot Bird 13C</a></td> <td width="7%" class="bld"> 10911.00</td><td width="2%" class="bld">V</td><td class="w3-hide-small" width="3%"><a class="bld"

以下是代码的一部分:

"basc_tp('m0')"><span class="nbc">11</span><a class="bld">Hot Bird 13C</a></td> <td width="7%" class="bld">bbhg 10719.25 10727.00 10758.00 10775.00 10911.00
应该按表达顺序添加或更改i:
.*(\d{5}\.\d{2}).* 它还将包括空格字符(lookbehind)(CR和LF)以进行进一步操作。 当在代码中出现“。*”后面的字符LF或CR时,出现LF或CR时不包括所有字符和标记,并且前两行不被删除,为什么?

1 个答案:

答案 0 :(得分:1)

您可以使用一步法获取值列表:

(\d{5}\.\d{2})|(?s:.)

替换为

(?1$1\n:)

正则表达式模式匹配并捕获到组1中的五位数,点和2位数,或者只匹配任何字符。替换模式是一个条件,如果匹配组1,则替换找到的匹配组1和换行符,或者替换为空字符串(如果匹配任何其他字符)。请注意,如果您选择 (?:)匹配换行符选项,则可能会移除.