Jquery 我可以将regex与从ajax()函数获取的页面包含一起使用吗?

Jquery 我可以将regex与从ajax()函数获取的页面包含一起使用吗?,jquery,ajax,regex,Jquery,Ajax,Regex,我想从某个页面的选框标记中获取包含信息。 这是我的密码 var myurl = "http://www.somewhere.com/somepage.html"; var patt = /.+<marquee.+>(.+)<\/marquee>.+/; $.ajax({ url: myurl, success: function(data){ var r = patt.exec(data); console.debug(r

我想从某个页面的选框标记中获取包含信息。
这是我的密码

var myurl = "http://www.somewhere.com/somepage.html";
var patt = /.+<marquee.+>(.+)<\/marquee>.+/;

$.ajax({
    url: myurl,
    success: function(data){
        var r = patt.exec(data);
        console.debug(r[1]);
    },
});
var myurl=”http://www.somewhere.com/somepage.html";
变量patt=/.+(.+).+/;
$.ajax({
url:myurl,
成功:功能(数据){
var r=部分执行(数据);
console.debug(r[1]);
},
});
我发现,变量r是空的。
我犯了什么错


另外,我做了一个chrome扩展,因此它允许我在其他域中调用ajax()。

不使用正则表达式解析HTML有很多原因,我不在这里讨论

在您的情况下,我怀疑
标记中可能有您的正则表达式无法匹配的新行

试一试

/]*>([\s\s]*?)/
看看会发生什么


[\s\s]
匹配任何字符(空白或非空白,这是一种用来补偿JavaScripts缺少“点匹配所有”模式的乱码),
*?
允许匹配出现任意次数,但尽可能少,因此我们不会在多个
标记之间进行匹配

您最好使用jQuery元素构造函数而不是字符串操作来提取文本。它更可靠,更容易阅读:

var r = $('<div>' + data + '</div>').find('marquee').html();
var r=$(''+数据+'').find('marquee').html();

包装div用于确保jQuery将数据视为HTML元素,而不是选择器字符串。

为什么不从jQuery Selctor获取url?是否有示例或参考链接?[\s\s]有效!喜欢你的回答。多行中的字幕内容不能与“点匹配全部”匹配。这是我的工作模式->/([\s\s]*)/谢谢回复。我尝试了您的解决方案,但当我用$包装数据时,它会出错。关于我的数据是以@diewland开始和结束的,我不知道这是一整页。如果字符串以元素开头和结尾,则不需要包装div。哇!我明白你的意思。谢谢
var r = $('<div>' + data + '</div>').find('marquee').html();