2

我有一张桌子,里面有很多物品,我想在所有这些物品中添加图像。看看我正在使用的代码。

<tr><td><img src=".jpg" width=100 height=100/></td></tr>

现在我知道我可以手动输入每个图像的名称,但我正在使用 Notepadd++ 5.9.8 版学习正则表达式,并且我通常使用查找/替换功能来更新相同的代码段。我对简化解决方案的方法我认为我可以将图像从 1 一直编号到最后一张图像,并使用正则表达式插入 1,2,3... 使用上述代码片段的查找和替换。

我当然希望将结果添加到 .jpg 之前,并且它应该从第一项开始,从 1 开始,第二项从 2 开始,一直到最后一个表项。

4

3 回答 3

1

这不是正则表达式可以做的事情。

我通常用excel做这些事情。在您希望号码所在的位置放置两个选项卡,然后将其粘贴到 excel 中:

<tr><td><img src="  1   .jpg" width=100 height=100/></td></tr>
<tr><td><img src="  2   .jpg" width=100 height=100/></td></tr>

向下展开行,直到你有足够的数字 -

在此处输入图像描述

然后只需将它们复制粘贴回 Notepad++ 并将所有选项卡 (\t) 替换为 null。

附言

将 Notepad++ 更新到最新版本,他们切换到更标准的正则表达式引擎。

于 2012-12-18T18:10:24.167 回答
1

例如,这在 js/html 中非常简单。

<!DOCTYPE html>
<html>
    <head>
        <script>
        function OnLoad(){
            var text=0;
            for (var i=0; i<100; i++)
                text+= '<tr><td><img src="'+i+'.jpg" width=100 height=100/></td></tr>\n';

            document.getElementById("text").value= text;
            text='';
        };
        </script>
    </head>
    <body onload="OnLoad();">
        <textarea id="text" rows="30" cols="80"></textarea>
    </body>
<html>
于 2012-12-18T18:19:03.500 回答
1

这有点傻,但这是一种您可以直接在 Notepad++ 中执行此操作的方法。假设您有以下 HTML:

<tr><td><img src=".jpg" width=100 height=100/></td></tr>
<tr><td><img src=".jpg" width=100 height=100/></td></tr>
<tr><td><img src=".jpg" width=100 height=100/></td></tr>

您可以做的是按住Alt并使用鼠标在部分中选择(并向下拖动)第一个引号和点之间的零字符列src=".jpg。这样做之后,您的屏幕应该看起来像这样(|代表光标):

<tr><td><img src="|.jpg" width=100 height=100/></td></tr>
<tr><td><img src="|.jpg" width=100 height=100/></td></tr>
<tr><td><img src="|.jpg" width=100 height=100/></td></tr>

现在转到Edit -> Column Editor,选择Number to insert,并给出初始值并增加值。点击OK,你应该看到插入的数字!嘘!

<tr><td><img src="1.jpg" width=100 height=100/></td></tr>
<tr><td><img src="2.jpg" width=100 height=100/></td></tr>
<tr><td><img src="3.jpg" width=100 height=100/></td></tr>

但是等等,如果你有一位数和两位数,你会发现一个问题:有额外的空格!

...
<tr><td><img src="8 .jpg" width=100 height=100/></td></tr>
<tr><td><img src="9 .jpg" width=100 height=100/></td></tr>
<tr><td><img src="10.jpg" width=100 height=100/></td></tr>
<tr><td><img src="11.jpg" width=100 height=100/></td></tr>
...

听起来像是 Regex 的工作。这是一个可行的方法(如果您想自己解决,请不要看):

查找:src="([0-9]+)\s+\.jpg 替换:src="$1\.jpg

于 2012-12-18T18:19:15.787 回答