用正则表达式检测img src中的反斜杠

Detect backslash in img src with regular expression

本文关键字:src 正则表达式 检测 img      更新时间:2023-09-26

编辑:此帖子已修复,请阅读更多以获取更多帮助

我有以下不同的正则表达式:

var rex=new RegExp('<img.*?src="(.*?'/([^/"]*))".*?>', 'g')
var rex=new RegExp('<img [^>]*src="([^>"]+'/([^>"]+))"[^>]*?>', 'g')
var rex=new RegExp('<img.*?src="([^">]*'/([^">]*?))".*?>', 'g') 

解决方案:

After  : <img [^>]*src="([^>"]+''/([^>"]+))"[^>]*?>  
After  : <img.*?src="(.*?''/([^'/"]*))".*?>
After  : <img.*?src="([^">]*''/([^">]*?))".*?>

解决方案:

当我声明url时,字符串no检测到"''",因为no被转义

这个URL(例如(:

var str='<img src="file:///C:'DOCUME~1'user'CONFIG~1'Temp'msohtml1'02'clip_image002.jpg" style="float:left; height:145px; width:193px" />';

但是当我声明"str"no有"''"时,我该如何解决?我不能手动,因为这个字符串是自动的。

我使用这个while来推送数组中的URL

var m,urls = [];
    while ( m = rex.exec( str ) ) {
            urls.push( m[1] );
        }
            alert( urls ); 

我使用了所有正则表达式,但它们始终返回相同的文本:

file:///C:DOCUME~1cCanadasCONFIG~1Tempmsohtml1clip_image002.jpg

我知道这是因为正则表达式没有检测到反斜杠,但我不知道在哪里或如何编写反斜杠的正则表达式。

第二个问题

示例:我有一个字符串中的文本:

区块报价

<img src="file:///C:'DOCUME~1'cCanadas'CONFIG~1'Temp'msohtml1'01'clip_image002.jpg" style="float:left; height:145px; width:193px"></a></a><img src="file:///C:'DOCUME~1'cCanadas'CONFIG~1'Temp'msohtml1'01'clip_image004.jpg" style="float:left; height:192px; width:256px">是一种临时性元素,在必要的时间内达到一定程度。Quisque porta urna convalis,posuere diam,sodales quam。Mauris ligula magna,sollicitiudin id egestas at,pharetra eget erat。Quisque dignissim libero在门廊门廊商品。圣母玛利亚。Sed vel magna egestas,laoret nulla nec,aliquet velit。Quisque auge quam,eleifend non-solicitudin坐amet,前庭为nulla。枕状融合器直径

如何检测IMG的SRC并通过正斜杠更改反斜杠?

非常感谢您的帮助!非常感谢!

p.d:如果你能用JavaScript写答案,但如果你知道其他对我来说没有问题的话-

您只需要转义'字符:

Before : <img [^>]*src="([^>"]+'/([^>"]+))"[^>]*?>
After  : <img [^>]*src="([^>"]+''/([^>"]+))"[^>]*?>
Before : <img.*?src="(.*?'/([^/"]*))".*?>
After  : <img.*?src="(.*?''/([^'/"]*))".*?>
Before : <img.*?src="([^">]*'/([^">]*?))".*?>
After  : <img.*?src="([^">]*''/([^">]*?))".*?>