JSFiddle - React, Tailwind, and code Playground

by Eric Howe

HTML

<a href="eg.html" class="detail-1 linkage narrow">X</a>
<a href="eg.html" class="linkage detail-55 narrow">Y</a>
<a href="eg.html" class="linkage narrow detail-Z">Z</a>
<br />
<span id="howmany"></span>

JavaScript

$.expr[':'].regex = function(elem, index, match) {
    var matchParams = match[3].split(','),
        validLabels = /^(data|css):/,
        attr = {
            method: matchParams[0].match(validLabels) ? 
                        matchParams[0].split(':')[0] : 'attr',
            property: matchParams.shift().replace(validLabels,'')
        },
        regexFlags = 'ig',
        regex = new RegExp(matchParams.join('').replace(/^\s+|\s+$/g,''), regexFlags);
    return regex.test(jQuery(elem)[attr.method](attr.property));
}

$('#howmany').html($(':regex(class,(^| )detail-)').length);