如何在notepad++中反转regex区域?

w41d8nur  于 2023-11-20  发布在  其他
关注(0)|答案(1)|浏览(136)

我有以下列表:

<th class="News">14</th>
  <td class="News"><a href="pclinuxos">PCLinuxOS</a></td>
  <td class="News" style="text-align: right" title="Yesterday: 341">341<img src="/web/20050131094820im_/http://distrowatch.com/images/other/alevel.png" alt="=" title="Yesterday: 341"></td>
</tr>
<tr>
  <th class="News">15</th>
  <td class="News"><a href="redhat">Red Hat</a></td>
  <td class="News" style="text-align: right" title="Yesterday: 290">289<img src="/web/20050131094820im_/http://distrowatch.com/images/other/adown.png" alt=">" title="Yesterday: 290"></td>
</tr>
<tr>
  <th class="News">16</th>
  <td class="News"><a href="slax">SLAX</a></td>
  <td class="News" style="text-align: right" title="Yesterday: 274">275<img src="/web/20050131094820im_/http://distrowatch.com/images/other/aup.png" alt="<" title="Yesterday: 274"></td>
</tr>
<tr>
  <th class="News">17</th>
  <td class="News"><a href="vine">Vine</a></td>
  <td class="News" style="text-align: right" title="Yesterday: 269">261<img src="/web/20050131094820im_/http://distrowatch.com/images/other/adown.png" alt=">" title="Yesterday: 269"></td>
</tr>
<tr>

字符串
我可以通过下面的正则表达式来选择目标行:

(.*)\R.+\.png" alt\b


x1c 0d1x的数据
现在我想用正则表达式反转我的目标行。
我用^(?!.*(.*)\R.+\.png" alt\b).+\R正则表达式来求逆,但是失败了,得到了下面的结果!


为什么我的正则表达式只对其中一行求逆?问题出在哪里?

pprl5pva

pprl5pva1#

在Notepad++中,您可以使用(*SKIP) and (*FAIL),然后匹配任何字符1次或多次,以不匹配空行。
为了防止部分匹配,您可以锚模式,如果您只想要匹配,您可以忽略前导捕获组:

^.*\R.+\.png" alt\b(*SKIP)(*F)|^.+

字符串
参见regex demo

相关问题