RegExp替换除所选之外的所有

RegExp替换除所选之外的所有,regex,Regex,因此,我试图用Notepad++RegExp Find/Replace删除1900行文档中的匹配大小写之外的所有内容,这样我就只有文件名了,这会将它缩短到至少1000行以下。我知道选择文本的代码((?)也许这会有帮助。或者不会,因为您从原始帖子中删除了Javascript标记 var thestring=“”; var thestring2=“”; 函数ParseIt(incomingstring){ 变量模式=/“\/images\/item\/(.*)”/; if(模式测试(输入字符串))

因此,我试图用Notepad++RegExp Find/Replace删除1900行文档中的匹配大小写之外的所有内容,这样我就只有文件名了,这会将它缩短到至少1000行以下。我知道选择文本的代码(
(?)也许这会有帮助。或者不会,因为您从原始帖子中删除了Javascript标记


var thestring=“
”; var thestring2=“
”; 函数ParseIt(incomingstring){ 变量模式=/“\/images\/item\/(.*)”/; if(模式测试(输入字符串)){ 返回模式.exec(incomingstring)[1]; } 否则{ 返回“”; } //返回pattern.test(incomingstring)?pattern.exec(incomingstring)[1]:“”; }
调用
ParseIt(字符串)
返回“aegis of the legion.gif”

调用
ParseIt(thestring2)
return”“

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


var thestring=“
”; var thestring2=“
”; 函数ParseIt(incomingstring){ 变量模式=/“\/images\/item\/(.*)”/; if(模式测试(输入字符串)){ 返回模式.exec(incomingstring)[1]; } 否则{ 返回“”; } //返回pattern.test(incomingstring)?pattern.exec(incomingstring)[1]:“”; }
调用
ParseIt(字符串)
返回“aegis of the legion.gif”


调用
ParseIt(字符串2)
return“”

由于您是在NP++中执行此操作的,这对我来说很有用。在这种情况下,速度和结果比特定的技术更重要,我通常会运行几个正则表达式。首先,我将通过搜索
并将其替换为
\n
,在自己的行中获取每个标记。这将在更简单的pro中获取每个标记访问。然后将
^>*.*$
替换为
$1
将从标记中提取所有文件名,删除不需要的文本。最后,要清除所有没有文件名的标记,只需将
替换为空字符串。最后,使用“编辑>行操作>删除空行”,您将获得以下结果:这不是一个100%的正则表达式解决方案,但这是一个一次性的操作,你只需要一个简单的结果。

因为你是在NP++中做这件事的,这对我来说很有用。在这种情况下,速度和结果比特定的技术更重要,我通常会运行几个正则表达式。首先,我将通过搜索
>
并将其替换为
\n
。这将使每个标记在其自己的行上,以便更简单地处理。然后将
^>*.$
替换为
$1
将从标记中提取所有文件名,删除不需要的文本。最后,要清除所有没有文件名的标记,只需将
替换为空字符串。最后,使用“编辑>行操作>删除空行”,您将得到您要查找的结果。这不是100%正则表达式解决方案,但这是一次性操作,您只需要从中获得简单结果。

记事本++解决方案:

查找内容:
*?/images/item/(.*?)|.*

替换为:
$1\n

搜索模式:正则表达式(选中“
.matches newline
”)

结果的末尾将有一个额外的换行符。
但我想这不会造成问题。

记事本++解决方案:

查找内容:
*?/images/item/(.*?)|.*

替换为:
$1\n

搜索模式:正则表达式(选中“
.matches newline
”)

结果的末尾将有一个额外的换行符。

但是我想这不会造成问题。

如果你使用记事本++,为什么要使用JavaScript标记?看看这个关于否定选择的问题:@Arashsoft:删除固定长度的文本。一个更全面的方法是使用一个交替的捕获模式来保留和(展开)使用该模式修改标记以丢弃该部分。根据输入的类型,使用
*
的简单替换可以工作。我将CTRL+a,CTRL+C,在浏览器中打开开发工具,编写类似
var str=“{CTRL+V}”的内容;
但使用引号,我们在这里突出显示代码,然后执行我的
str.match(…).join(“\n”)
。如果您使用的是记事本++,为什么要使用JavaScript标记?看看这个关于否定选择的问题:@Arashsoft:删除固定长度的文本。更全面的方法是使用捕获的模式的交替(保留)和(展开)使用该模式修改标记以丢弃该部分。根据输入的类型,使用
*
的简单替换可以工作。我将CTRL+a,CTRL+C,在浏览器中打开开发工具,编写类似
var str=“{CTRL+V}”的内容;
但是在引号中,我们用这里来突出显示代码,然后执行我的
str.match(…).join(“\n”)
。谢谢,它工作得很好。但是由于我在考虑c9的ide以及它如何使用javascript查找和替换时意外添加了javascript,我再次被禁止问我的许多问题(很高兴听到这有帮助。是的,javascript中的javascript风格比PHP和Notepad++中使用的PCRE风格更有限。tumb的规则是,当正则表达式在javascript中工作时,它可能在其他正则表达式中工作。我添加javascript是因为JS中不支持lookback,这就是我认为需要的Hank你,它工作得很好。但是因为我在考虑c9的ide以及它如何使用javascript查找和替换时意外添加了javascript,我再次被禁止问我的许多问题……(很高兴听到它有帮助。是的,javascript中的javascript风格比PCRE更有限
<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">
abyssal-scepter.gif
aegis-of-thelegion.gif
aether-wisp.gif
amplifying-tome.gif
<script type="text/javascript">
    var thestring = "<img src=\"/images/item/aegis-of-the-legion.gif\" alt=\"LoL Item: Aegis of the Legion\"><br>";
    var thestring2 = "<img src=\"/images/otherstuff/aegis-of-the-legion.gif\" alt=\"LoL Item: Aegis of the Legion\"><br>";

    function ParseIt(incomingstring) {
        var pattern = /"\/images\/item\/(.*)" /;
        if (pattern.test(incomingstring)) {
            return pattern.exec(incomingstring)[1];
        }
        else {
            return "";
        }
        //return pattern.test(incomingstring) ? pattern.exec(incomingstring)[1] : "";
    }
</script>