使用正则表达式匹配id值
P粉757556355
2023-08-30 16:13:18
<p>我想找到所有值为<code>id</code>属性由以下组成的<code>g</code>节点的子节点:</p>
<pre class="brush:php;toolbar:false;">a[number]-[一个或多个字符]
// 例子:
// - id="a1-a"
// - id="a1-b"
// - id="a1-abcd"
// - id="a10-f"
// - id="a0-z"
// - id="b1-a" // 不合法
// - id="a1-2" // 不合法</pre>
<p>所以我尝试了:</p>
<pre class="lang-js prettyprint-override"><code>const items = gElement.querySelectorAll(`[id^='a[0-9]+-[a-zA-Z]+']`)
</code></pre>
<p>但是,它不起作用。</p>
在你的查询选择器中,你使用的模式 (
[0-9]+
) 没有被解释为正则表达式。使用 RegExp 构造函数从字符串创建一个正则表达式对象: