我正在尝试获取正则表达式(在 Javascript 中)来获取边距、填充和边框值,从 document.styleSheets 中读取它们
我写道:
/:\s*?(\d+)(px)?/gi
但不好。主要问题是规则应该是这样的:
margin: 3px;
margin: 3px 2px;
margin: 3px 2px 1px;
margin: 3px 2px 1px 0;
margin-top: 3px;
margin-right: 3px;
margin-left: 3px;
margin-bottom: 3px;
填充也是如此。对于边界是相似的:
border: 1px solid #000;
border-width: 1px 1px 2px 0;
border-top-width: 1px;
border-left-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-top: 1px solid #000;
border-left: 1px solid #000;
border-right: 1px solid #000;
border-bottom: 1px solid #000;
我可以拆分规则并搜索每种类型,例如
if(rule.indexOf('margin') > -1) {
...
} else if (rule.indexOf('margin-top') > -1) {
...
}
并使用不同的正则表达式..但我想要更通用的正则表达式来避免一长串“如果”。
有谁能够帮我?
非常感谢,大