JS正则如何匹配类名

新手上路,请多包涵

问下师兄,比如'a a-b a-b-c'要匹配是否有'a'这个类,但是不匹配到'a-b'中的'a',怎么写。

阅读 2.2k
3 个回答
['a a-b a-b-c', 'a-b a a-b-c', 'a-b a-b-c a', 'a-b a-b-c'].map(str => {
    return /(^|\s+)a($|\s+)/g.test(str)
});
//[true, true, true, false]


['a a-b a-b-c', 'a-b a a-b-c', 'a-b a-b-c a', 'a-b a-b-c'].map(str => {
    return str.match(/(?<=^|\s+)a(?=$|\s+)/g)
});
//[["a"],["a"],["a"],null]

'a a-b a-b-c'.match(/a(?!-b)/g)

你要的是匹配类名,不一定要用正则, 可以用 el.classList.contains('a') 或 el.matches('.a')

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题