对于单个正则表达式来说,这似乎太令人费解了。好吧,我敢肯定,通过正确的扩展,高级用户可以创建正确的正则表达式。但是,那么您需要一个更高级的用户来对其进行调试。
相反,我建议使用正则表达式来提取片段,然后分别标记每个片段。例如,
/([^{])s*{s*([^}]*?)s*}/
然后,将选择器和属性放在单独的字段中,然后将它们拆分。(即使选择器也会很有趣。)请注意,如果}可以出现在引号或其他内容中,即使这样也会很麻烦。您可以再次绕开它,以免发生这种情况,但最好还是完全避开regex,并一次解析一个字段来处理它,也许可以使用递归下降解析器或yacc
/ bison或随你。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)