用于剥离 Package DIV标记的Regexp

x759pob2  于 2023-01-31  发布在  其他
关注(0)|答案(2)|浏览(87)

在某些情况下,来自服务器的响应被 Package 在一个DIV标记中,如下所示:

<div id="marker-aab44ba9d64a41398ed97a251dfb938e-629">42</div>

标记的内容可以是任何内容:字符串、数字、URL、JavaScript数组、JavaScript对象。
标记的格式始终为:

<div id="marker-[random string here]">content</div>

我想用正则表达式去掉标记,我该怎么做呢?
记住:来自服务器的响应可能只是没有 Package DIV的内容,因此regexp应该考虑到这一点。

2q5ifsrm

2q5ifsrm1#

您可以使用锚点:

var res = str.replace(/^<div[^>]*>|<\/div>$/g, '');

如果div标记之间的内容是HTML格式,可以使用此命令确保只删除所需的div:

var res = str.replace(/^<div[^>]*? id\s*=\s*["']?marker-[^>]+>([\S\s]*)<\/div>$/g, '\1');
jckbn6z7

jckbn6z72#

这应该行得通:

function (string) {
    var match = string.match('<div id="marker-[^"]*">(.*)</div>');
    if(match) {
        return $(string).html(); 
    } else {
        return string; 
    }
};

:—)

相关问题