我想从热鸟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°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°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°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时不包括所有字符和标记,并且前两行不被删除,为什么?
答案 0 :(得分:1)
您可以使用一步法获取值列表:
(\d{5}\.\d{2})|(?s:.)
替换为
(?1$1\n:)
正则表达式模式匹配并捕获到组1中的五位数,点和2位数,或者只匹配任何字符。替换模式是一个条件,如果匹配组1,则替换找到的匹配组1和换行符,或者替换为空字符串(如果匹配任何其他字符)。请注意,如果您选择 (?:)
匹配换行符选项,则可能会移除.
。