sizzle选择器可以评估正则表达式吗?

时间:2010-11-11 19:04:35

标签: regex sizzle

我需要选择具有特定格式的网址的链接。 我可以使用sizzle来评估链接的正则表达式的href属性吗?

例如,我可以这样做:

var arrayOfLinks = Sizzle('a[HREF=[0-9]+$]');

在URL上以数字结尾的页面上创建所有链接的数组?

1 个答案:

答案 0 :(得分:3)

试一试。我试图将Kobi链接到的jQuery正则表达式选择器转换为Sizzle选择器扩展。似乎工作,但我没有经过大量的测试。

Sizzle.selectors.filters.regex = function(elem, i, match){ 
    var matchParams = match[3].split(',', 2);
    var attr = matchParams[0];
    var pattern = matchParams[1];
    var regex = new RegExp(pattern.replace(/^\s+|\s+$/g,''), 'ig');
    return regex.test(elem.getAttribute(attr));
};

在这种情况下,您的示例将写为:

var arrayOfLinks = Sizzle('a:regex(href,[0-9]+$)');