RegExp替换所有选择

时间:2016-08-26 13:33:08

标签: regex

所以我试图用Notepad ++ RegExp查找/替换来删除除1900行文档中的匹配大小写之外的所有内容,这样我只有文件名,这会将其缩短到大约1000行以下。我知道选择文本的代码((?<=/images/item/)(.*)(?=" a)但问题是我不知道如何删除任何与该情况不匹配的内容。这是文档的一部分。

使用notepad ++,它会找到并选择abyssal-scepter.gifaegis-of-the-legion.gif

<img src="/images/item/abyssal-scepter.gif" alt="LoL Item: Abyssal Scepter"><br>                                                                                                                <div id="id_77" class="tier-wrapper drag-items health magic-resist health-regen champ-box float-left ajax-tooltip {t:'Item',i:'77'} classic-and-dominion filter-is-dominion filter-is-classic filter-tier-advanced filter-bonus-aura       filter-category-health filter-category-magic-resist filter-category-health-regen ui-draggable ui-draggable-handle">
<img src="/images/item/aegis-of-the-legion.gif" alt="LoL Item: Aegis of the Legion"><br>                                                                                                                    <div id="id_235" class="tier-wrapper drag-items ability-power movement champ-box float-left ajax-tooltip {t:'Item',i:'235'}    filter-tier-advanced   filter-bonus-unique-passive     filter-category-ability-power filter-category-movement ui-draggable ui-draggable-handle">
<img src="/images/item/aether-wisp.gif" alt="LoL Item: Aether Wisp"><br>
<div class="info">
<div class="champ-name">Aether Wisp</div>
<div class="champ-sub">

<img src="/images/gold.png" alt="Item Cost" style="width:16px; vertical-align:middle;"> 850 / 415
</div>
</div>                  
</div>
<div id="id_21" class="tier-wrapper drag-items ability-power champ-box float-left ajax-tooltip {t:'Item',i:'21'} classic-and-dominion filter-is-dominion filter-is-classic filter-tier-basic        filter-category-ability-power ui-draggable ui-draggable-handle">
<img src="/images/item/amplifying-tome.gif" alt="LoL Item: Amplifying Tome"><br>
<div class="info">
<div class="champ-name">Amplifying Tome</div>
<div class="champ-sub">

我不熟悉RegExp,总而言之,我需要它在最后看起来像这样。

abyssal-scepter.gif
aegis-of-thelegion.gif
aether-wisp.gif
amplifying-tome.gif

感谢您的时间

3 个答案:

答案 0 :(得分:2)

Notepad ++解决方案:

找到:.*?/images/item/(.*?)"|.*
替换为:$1\n
搜索模式:正则表达式(使用&#34; . matches newline&#34;已选中)

结果将在末尾添加额外的换行符 但是,我认为这不应该造成问题。

答案 1 :(得分:1)

也许这会有所帮助。 与否,因为您从原始帖子中删除了Javascript标记

ParseIt(thestring)

致电ParseIt(thestring2)返回&#34; aegis-of-the-legion.gif&#34;

致电{{1}}返回&#34;&#34;

答案 2 :(得分:0)

因为你在NP ++中这样做,这对我有用。在这种情况下,速度和结果比特定技术更重要,我通常会运行几个正则表达式。首先,我会通过搜索>并将其替换为>\n来获取每个标记。这使得每个标签都在自己的行上,以便进行更简单的处理。然后用^>*<.*?".*?/?([\w\d\-_]+\.\w{2,4})?".*>.*$替换$1将从标签中提取所有文件名,删除不需要的文本。然后,最后,要清除所有没有文件名的标签,只需用空字符串替换<.*>即可。最后,使用编辑&gt;线操作&gt;删除空行,您将获得您正在寻找的结果。这不是一个100%的正则表达式解决方案,但这是一次性动作,你只需要一个简单的结果。

相关问题