现在我有正则表达式匹配图片src
属性来获取图片网址,但我想要正则表达式只获取网址直到第一个空格:
当前正则表达式:blog_details.match(/src=(.+)/)[1]: ""
使用当前正则表达式,我得到:
"https://res.cloudinary.com/cot/image/upload/v1xxxx878705/cz3dbifffcb6ysto7cbp.jpg layout="responsive" width="600" height="auto"/>"
不需要此部分:
layout="responsive" width="600" height="auto"/>"
答案 0 :(得分:3)
使用否定的字符类:
src=([^\s]+)
答案 1 :(得分:2)
这是一个正则表达式,它将获得所有内容直到结束引号或空格:
/src="(.*?)(?:"|\s)/
const
sourceUnclosed = '<img src="https://res.cloudinary.com/cot/image/upload/v1xxxx878705/cz3dbifffcb6ysto7cbp.jpg layout="responsive" width="600" height="auto"/>',
sourceClosed = '<img src="https://res.cloudinary.com/cot/image/upload/v1xxxx878705/cz3dbifffcb6ysto7cbp.jpg" layout="responsive" width="600" height="auto"/>',
regex = /src="(.*?)(?:"|\s)/;
console.log(regex.exec(sourceUnclosed)[1]);
console.log(regex.exec(sourceClosed)[1]);
但是像@Anil所说,看起来你的HTML缺少src
属性的结束语。