使用正则表达式为HTML IMG标签添加不含扩展名的文件名作为id属性
解决方案
直接用下面的正则表达式就能实现你的需求:
搜索正则
(<img[^>]*)(src=")(.*\/)?([^.]+)\.([^"]+)"([^>]*)>
替换内容
$1 id="$4" $2$3$4.$5"$6>
正则说明
- 捕获组1:匹配
<img标签开头到src="之前的所有内容(包含其他已有属性) - 捕获组2:匹配固定的
src="字符串 - 捕获组3:匹配可选的文件路径部分(比如
../arbitrary/file/path/,末尾斜杠包含在内,无路径时该组为空) - 捕获组4:核心部分,匹配不含扩展名的文件名(比如
file-name) - 捕获组5:匹配文件扩展名(比如
jpg) - 捕获组6:匹配
src属性闭合后到标签结尾的所有内容(比如alt="arbitrary alt tag" /)
替换时,我们把捕获组4的内容作为id的值插入到src属性之前,同时完整保留原有的路径、文件名和扩展名,确保src属性不受影响。
在TextMate中打开查找替换面板,勾选「正则表达式」选项,粘贴上述搜索和替换内容,即可批量完成修改。
内容的提问来源于stack exchange,提问作者Chris Osborne
相关产品推荐
相关产品推荐

