<div id="foo">...<div>
<div id="foo-bar">...<div>
<div id="foo-1">...<div>
<div id="foo-2">...<div>

上記のようなHTMLに対して、id属性がfoo-{数値}な要素のみにマッチするセレクタはあるでしょうか?

今のところは[id^=foo]で取得した全要素に対して追加でフィルタをかけて動かしていますが、できればCSSセレクタのみで完結させたいです。

$("[id^=foo]").each(function() {
    if (!this.id.match(/^foo-\d+/)) return;
    ...
});