假设我有以下字符串:div.classOneA.classOneB#idOne
尝试编写一个正则表达式,从中提取类(classOneA,classOneB).我能够做到这一点,但仅限于Lookbehind assertion.
看起来像这样:
'div.classOneA.classOneB#idOne'.match(/(?<=\.)([^.#]+)/g)
> (2) ["classOneA","classOneB"]
现在,我想将其存档,而无需采用后顾之忧,也不真正理解为什么我的解决方案无法正常工作.
'div.classOneA.classOneB#idOne'.match(/\.([^.#]+)/g)
> (2) [".classOneA",".classOneB"]
以为分组会解决我的问题,但所有匹配项也都包含点.
最佳答案
如果要扩展您的正则表达式.您只需映射结果即可替换.用空字符串
let op = 'div.classOneA.classOneB#idOne'.match(/\.([^.#]+)/g)
.map(e=> e.replace(/\./g,''))
console.log(op)