用反向引用正则获取api返回地址再替换图片地址尝试
用反向引用正则获取api返回地址再替换图片地址
第一步
从文章字段提取图片地址到待上传图片地址集合变量
第二步
用反向引用给文章字段内的图片地址进行序号标注
第三步
循环api以图片url上传图片获得新图片地址并存入新图片集合变量
第四步
循环按顺序正则替换文章字段内已标注好的图为新地址
完成
参考知识点 详解
https://www.jianshu.com/p/2dbdcdeed416
正则 捕获组之反向引用
该文讲述了 反向
可以查询时用 \1表示
主要在替换语句用 $1表示
一般会用到非捕获组
https://www.lanhusoft.com/Article/188.html
此文会讲到非捕获组 ?:表示非捕捉分组
捕获组 正反 断言 的学习
https://blog.csdn.net/liuxiao723846/article/details/83277488
https://blog.51cto.com/cnn237111/749047
正则获取图片内链接
获取图片链接
<img\b[^<>]*?\bsrc\s*=\s*[""']?\s*(?<imgUrl>[^\s""'<>]*)[^<>]*?/?\s*>
方法有很多 我觉得这样兼容性较好
正则获取图片内链接 这段正则表达式是什么意思
这段正则表达式是什么意思
"src\s*=\s*\"?([^"<>]+)\"?"
这应该是从html中提取出图片位置用的(当然,FRAME等的提取也用得上,不过这里就不说了),
举例
<img src="pic.tif" align=middle>
src是前缀,\s*=\s*是等号两边有多少空格都可以,
"?______"?这一段是指的URL两边可以加也可以不加一个引号,标准的应该是有引号的,不过IE好像对不加引号的情况也可以处理,所以就有不少网页是不加引号的。
([^"<>]+)用圆括号括起来是子模式,要捕获的就是圆括号内的内容。
[^"<>]+指的是“不为引号大于小于号的任意字符至少出现一次”,不为小于号是避免匹配范围出当前TAG,不为大于号大概是为了排除当前TAG不完整导致匹配到外面的情况,感觉不太必要,不为引号是避免匹配范围超出当前TAG的SRC属性值的范围,因为默认是贪婪匹配,如果不排除引号的话,例如“src="pic.tif" align=buttom”就会匹配出“pic.tif" align=buttom”的结果。
但这里还是有问题的,如果URL两边根本就没有引号,比如“src=pic.tif align=buttom”,这时候用上述的表达式就会匹配出“pic.tif align=buttom”,这还是错的。
所以应该改成“src\s*=\s*\"?([^"<>\s]+)\"?”。