javascript 正则取指定文本并替换原文本

platf0rm 2018-07-21 12:35:13
现有如下原文本[CQ:image,file=2C9BBA52D7BC3875A611091D56DA25D8.jpg,url=https://c2cpicdw.qpic.cn/offpic_new/3151543536//103655e6-bb2b-4abb-bb3a-bc65d57dfd79/0?vuin=2260691412&term=2]测试

我想通过js正则[如果你有更好的方法欢迎指教] 先去判断CQ:到file 之间的内容 再根据这个case 然后将原文本中的[CQ:xxxxx]内容替换成<img src="源文本中的url" alt="">
...全文
667 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2018-07-21
  • 打赏
  • 举报
回复
引用 3 楼 a3151543536 的回复:
dalo们 如果源文本为[CQ:image,file=2C9BBA52D7BC3875A611091D56DA25D8.jpg,url=https://c2cpicdw.qpic.cn/offpic_new/3151543536//103655e6-bb2b-4abb-bb3a-bc65d57dfd79/0?vuin=2260691412&term=2][CQ:image,file=2C9BBA52D7BC3875A611091D56DA25D8.jpg,url=https://c2cpicdw.qpic.cn/offpic_new/3151543536//103655e6-bb2b-4abb-bb3a-bc65d57dfd79/0?vuin=2260691412&term=2][CQ:image,file=2C9BBA52D7BC3875A611091D56DA25D8.jpg,url=https://c2cpicdw.qpic.cn/offpic_new/3151543536//103655e6-bb2b-4abb-bb3a-bc65d57dfd79/0?vuin=2260691412&term=2]
也就是多个呢 该如何批量替换 replaceAll好像不行

正则表达式后面加g标志就是批量替换的,你直接用我发的代码就可以
platf0rm 2018-07-21
  • 打赏
  • 举报
回复
dalo们 如果源文本为[CQ:image,file=2C9BBA52D7BC3875A611091D56DA25D8.jpg,url=https://c2cpicdw.qpic.cn/offpic_new/3151543536//103655e6-bb2b-4abb-bb3a-bc65d57dfd79/0?vuin=2260691412&term=2][CQ:image,file=2C9BBA52D7BC3875A611091D56DA25D8.jpg,url=https://c2cpicdw.qpic.cn/offpic_new/3151543536//103655e6-bb2b-4abb-bb3a-bc65d57dfd79/0?vuin=2260691412&term=2][CQ:image,file=2C9BBA52D7BC3875A611091D56DA25D8.jpg,url=https://c2cpicdw.qpic.cn/offpic_new/3151543536//103655e6-bb2b-4abb-bb3a-bc65d57dfd79/0?vuin=2260691412&term=2]
也就是多个呢 该如何批量替换 replaceAll好像不行
天际的海浪 2018-07-21
  • 打赏
  • 举报
回复

var str = "现有如下原文本[CQ:image,file=2C9BBA52D7BC3875A611091D56DA25D8.jpg,url=https://c2cpicdw.qpic.cn/offpic_new/3151543536//103655e6-bb2b-4abb-bb3a-bc65d57dfd79/0?vuin=2260691412&term=2]测试";
str = str.replace(/\[CQ:image[^\]]*url=([^\],]+)[^\]]*\]/ig,'<img src="$1" alt="">')
alert(str);
当作看不见 2018-07-21
  • 打赏
  • 举报
回复

`现有如下原文本[CQ:image,file=2C9BBA52D7BC3875A611091D56DA25D8.jpg,url=https://c2cpicdw.qpic.cn/offpic_new/3151543536//103655e6-bb2b-4abb-bb3a-bc65d57dfd79/0?vuin=2260691412&term=2]xxxx`.replace(/\[CQ:([^,]+)(,[^,]+,url=)([^\]]+)]/,function($,$1,$2,$3){ console.log($,$1,$2,$3)
if($1=='image') return `[CQ:<img src="${$3}" alt="" />]`;return $;

})

大概就是这样吧

87,838

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧