我想在字符串中获取一组匹配项。目前,我的字符串是一个媒体查询。我删除了媒体查询中的所有新行,因此一个媒体查询可能如下所示:
@media (max-width: 1200px) { .container { padding-left: 0px; } .bundles {padding-right:10px} }
我想要做的是从媒体查询中获取所有类,包括它们的样式属性。所以我想要一个如下所示的数组:
[".container { padding-left: 0px; }", ".bundles {padding-right:10px}"]
这是我的尝试:
var identifiers = mediaQuery.match(/\.(.*)}/);
我假设 match
会给我所有匹配项。但是我只得到一场比赛,所以我一定是做错了什么。
最佳答案
您需要使用 g
(用于全局)标识符
var identifiers = mediaQuery.match(/\.(.*?)}/g);
参见文档 here .此外,正如@chiliNUT 在评论中提到的,您需要使用 .*?
而不是 .*
以使您的正则表达式不贪婪。参见 here了解更多。
关于JavaScript 正则表达式获取字符串中的所有匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41065204/