jQuery 带有 RegEx 的选择器不接受表达式

jQuery selector with RegEx not accepting expressions

我正在尝试获取具有包含特殊字符的 'aria-label' 属性的所有元素:

<div aria-label="FromTo #abc124">Accept</div>
<div aria-label="FromTo #dd_13">Accept</div>
<div aria-label="FromTo #_bd33">Accept</div>
<div aria-label="FromTo #kld9L">Accept</div>

我想迭代 jQuery 中的那些元素,但我尝试过的每个正则表达式都给我意外的表达式错误。

到目前为止我尝试过的一些表达方式:

$('[aria-label="FromTo #*"]') // not working
$('div').filter(function() {
    return $(this).attr('aria-label').match(/FromTo \#.*/);
}) // not working
$(':contains([aria-label="FromTo [#\w+\d+]")') // not working

没有。

选择器不测试正则表达式,但您在这里不需要它。有一个“属性开始于”选择器,attr^=string.

console.log($('div[aria-label^="FromTo #"]').length)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div aria-label="FromTo #abc124">Accept</div>
<div aria-label="FromTo #dd_13">Accept</div>
<div aria-label="FromTo #_bd33">Accept</div>
<div aria-label="FromTo #kld9L">Accept</div>
<div area-label="something else">Not accept</div>
<div>Not ARIA</div>