匹配图像src与正则表达式直到空格 - Javascript

时间:2017-09-08 14:11:53

标签: javascript regex

现在我有正则表达式匹配图片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"/>"

2 个答案:

答案 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属性的结束语。