【发布时间】:2017-12-01 17:16:35
【问题描述】:
我想从 html 中获取来自 Hot Bird 13.0E 卫星的转发器频率的一列
链接在这里: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}).* ,它还将包括空白字符(后视)(CR 和 LF)以进行进一步的操作。
当代码中出现“.*”后面的字符LF或CR时,出现LF或CR时,前面的所有字符和标记都不包括在内,并且前2行没有被删除,为什么?
【问题讨论】:
-
我觉得你想匹配
(\d{5}\.\d{2})|(?s:.)并替换为(?1$1\n:) -
我使用 Notepad++ 分 3 步完成了此操作,以分离所需频率是我的方法。regex101 中更多的是不同的引擎,我无法达到要求的输出,替代品应该不是
(?1$1\n:),但需要更多的咖啡才能找到解决方案!