Usando o seletor 'começa com' em nomes de classe individuais

Se eu tiver o seguinte:

<div class="apple-monkey"></div>
<div class="apple-horse"></div>
<div class="cow-apple-brick"></div>

Posso usar o seguinte seletor para encontrar os dois primeiros DIVs:

$("div[class^='apple-']")

No entanto, se eu tiver isso:

<div class="some-other-class apple-monkey"></div>
<div class="apple-horse"></div>
<div class="cow-apple-brick"></div>

Ele só encontrará o segundo DIV, já que a classe da primeira div é retornada como uma string (acho) e, na verdade, não começa com 'apple-', mas sim 'some-'

Uma maneira de contornar isso é não usar, começa com, mas contém:

$("div[class*='apple-']")

O problema é que ele também selecionará o 3º DIV no meu exemplo.

Pergunta: Via jQuery, qual é a maneira correta de usar seletores de predicado em nomes de classes individuais, em vez de todo o atributo de classe como uma string? É apenas uma questão de pegar a CLASS, dividi-la em uma matriz e, em seguida, percorrer cada uma com regex? Ou existe uma solução mais elegante / menos detalhada?

questionAnswers(6)

yourAnswerToTheQuestion