我需要批量更改一个文件夹,将所有图像链接更改为小写,并用短划线替换下划线。因此,<img src="/images/Maps/South_America.png">
将成为<img src="images/maps/south-america.png">
我已经在相同文件中的所有本地链接上执行了类似的操作。我用这个正则表达式将它们改成小写:
(?<=(?i)href=")((?:<\?php(?:(?!\?>).)+\?>)?)((?:'[^']+')?)([^"]+)(?=")
\1\2\L\3
我用这个用破折号代替下划线:
(href="(?!http)[^_"]+)\_([^"]+")
$1-$2
我甚至不确定他们是否是相同的“语言”;我认为一个只适用于Dreamweaver,另一个适用于TextWrangler。无论如何,我还没有弄清楚如何修改以匹配图像,而不是链接。我应该强调,我只需要更改图像路径和名称,而不是任何类,ID或alt标签。
例如,<img src="Buffalo_Bill.jpg" alt="Buffalo Bill" class="People">
将成为<img src="buffalo-bill.jpg" alt="Buffalo Bill" class="People">
另外,如果有必要定义图像扩展,我认为这涵盖了所有基础......
(?:jpe?g|gif|png|svg|swf)
我上面发布的正则表达式只是示例。如果你有一个完全不同的正则表达式,那很好 - 只要它可以在像Dreamweaver或TextWrangler这样的通用文本编辑器中工作。 (我在Mac上。)
答案 0 :(得分:1)
输入如下:
<img id="BoringSnowDay" class="FunkySmellsFromGarden" src="/images/Maps/South_America.png" alt="Powerball Winner!" /> <img id="ExcitingSunNight" class="SmoothTasteInKitchen" src="/images/Flags/Antartica.jpg" alt="Racecar racecaR!" />
TextWrangler中的这个正则表达式:
(<img [^>]+)(src="[^"]+")
替换:
\1\L\2
给我的东西只会影响src="..."
部分,而不会影响其他任何内容。
不幸的是,将其与&#34; ...相结合,并将_
替换为-
&#34;往往会有点棘手。