Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript正则表达式匹配不';我跑不好_Javascript_Regex - Fatal编程技术网

Javascript正则表达式匹配不';我跑不好

Javascript正则表达式匹配不';我跑不好,javascript,regex,Javascript,Regex,好吧,我放弃。这是我的密码: var re = /href="(http.*\.jpg)"/g; var mp3s = body.match(re); 它查找图片,但返回href=”http://www.picture.com/smthg.jpg" 而不是返回 知道为什么吗?试试看 var re = /(http.*\.jpg)/g; var mp3s = body.match(re); 由于您不需要href.匹配()的结果实际上是一个对象 我认为您需要访问该对象上的第一个元素 例如: bo

好吧,我放弃。这是我的密码:

var re = /href="(http.*\.jpg)"/g;
var mp3s = body.match(re);
它查找图片,但返回href=”http://www.picture.com/smthg.jpg"

而不是返回

知道为什么吗?

试试看

var re = /(http.*\.jpg)/g;
var mp3s = body.match(re);

由于您不需要href.

匹配()的结果实际上是一个对象

我认为您需要访问该对象上的第一个元素

例如:

body.match(re)[1]
var body = 'stuff stuff morestuff href="http://www.picture.com/smthg.jpg" and some more stuff';
var re = /href="(http.*\.jpg)"/g;
var regexResults = re.exec(body);
var mp3s = regexResults[1];
alert(mp3s);
这是保存实际结果的地方

无耻的自我推销:
我已经为自己写了一个小指南,我也记不起如何使用它们了。在这里:

您希望匹配正则表达式,但只返回括号中的部分

为此,请调用正则表达式
exec
方法。例如:

body.match(re)[1]
var body = 'stuff stuff morestuff href="http://www.picture.com/smthg.jpg" and some more stuff';
var re = /href="(http.*\.jpg)"/g;
var regexResults = re.exec(body);
var mp3s = regexResults[1];
alert(mp3s);

既然给了你这个答案,我必须恳求你找到一个不同的方法来解决这个问题。不能使用正则表达式解析HTML。无论正则表达式变得多么复杂,都会有一个合法的HTML示例破坏它。

因为您在匹配中包含了
href
属性当您可以访问DOM时,为什么还要麻烦使用像正则表达式这样原始的东西呢?这看起来很幼稚,因为它比导入dom解析器库更快。这真的不能回答我的问题。正则表达式对我来说似乎很好我不知道问题出在哪里。。。我捕获了不包含hrefIf的组如果您想确保在链接之前有一个“href=”但没有捕获它,请在Google中查找“lookbehind正则表达式”,它就会这样做。javascriptyeah不支持lookbehind,但我想确保它在链接中,不是这样。如果你不提升自己,那就不是真正的自我提升——你的导游在哪里?我们能看看吗?:)@Zlatko=)好的,那你就开始吧。我控制台。记录它,我只得到一个结果,一个完整的结果,而不仅仅是捕获组。现在这是一个自我提升:)虽然不是无耻的,但我认为这些简短的提醒非常好,它们也可以帮助其他人。当我需要获取.jpg时,你有没有更快的解决方案?整个dom解析器对我来说太重了。