正则表达式从javascript中的字符串中查找值

正则表达式从javascript中的字符串中查找值,javascript,jquery,regex,Javascript,Jquery,Regex,我有一个类似这样的json { "foregroundDark": "##FF1F6D", "foregroundLight": "##F4FF80", "background": "##3029FF", "background2": "#FFFFFF", "barFontColors": ".cmtyx_color_1 { background-color:#FFBF36 !important; }.cmtyx_border_color_1 { border-color:

我有一个类似这样的json

{
  "foregroundDark": "##FF1F6D",
  "foregroundLight": "##F4FF80",
  "background": "##3029FF",
  "background2": "#FFFFFF",
  "barFontColors": ".cmtyx_color_1 { background-color:#FFBF36 !important; }.cmtyx_border_color_1 { border-color: #FFBF36 !important; }.cmtyx_text_color_1 { color: #FFBF36 !important; }.cmtyx_color_2 { background-color:#40EFFF !important; }.cmtyx_border_color_2 { border-color: #40EFFF !important; } .cmtyx_text_color_2 { color: #40EFFF !important; } .cmtyx_color_3 { background-color:#52FF42 !important; }.cmtyx_border_color_3 { border-color: #52FF42 !important; }.cmtyx_text_color_3 { color: #52FF42 !important; }.cmtyx_color_4 { background-color:#3DAEFF !important; }.cmtyx_border_color_4 { border-color: #3DAEFF !important; }.cmtyx_text_color_4 { color: #3DAEFF !important; }"
}

从这个json你可以找到一个键
BarfontColor
。我需要所有这些类的颜色值
。cmtyx_text_color_1
。cmtyx_text_color_2
。cmtyx_text_color_3
。cmtyx_text_color_4
。只有不带
的值!重要信息
。提前感谢。

要从该未解释的字符串中获取元素,让我们将该字符串转换为可以解析为javascript对象的内容

完成后,您可以从对象访问它的元素

var myObj={
“foregroundDark”:“FF1F6D”,
“前地灯”:“F4FF80”,
“背景”:“3029FF”,
“背景2”:“FFFFFF”,
“barFontColors:”.cmtyx_color_1{背景色:#FFBF36!重要;}.cmtyx_边框颜色{边框颜色:#FFBF36!重要;}.cmtyx_text_color_1{颜色:#FFBF36!重要;}.cmtyx_color_2{背景色:#40EFFF!重要;}.cmtyx_边框颜色{边框颜色:#重要;{40EFFF!重要;}.cmtyx_color_3{背景色:#52FF42!重要;}.cmtyx_border_color_3{边框色:#52FF42!重要;}.cmtyx_text_color_3{颜色:#52FF42}.cmtyx_color_4{背景色:#3DAEFF!重要;}.cmtyx_border_color_颜色{4{边框色:#重要;}.cmtyx#
};
var tmpBarFontColors='{'+myObj.barFontColors.replace(/-/g,''''+'}';
tmpBarFontColors=tmpBarFontColors.replace(/\.(\w+)\s*{\s*(\w+)\s*:\s*([\\w]+)\s*([!\w]+)?[^}]*\}/g,“$1”:{“$2”:“$3”,“flag”:“$4”});
tmpBarFontColors=tmpBarFontColors.replace(/\}\s*“/g,'},”);
myObj.barFontColors=JSON.parse(tmpBarFontColors);
//console.log(tmpBarFontColors);
log(“cmtyx color 1是”+myObj.barFontColors.cmtyx_color_1.background_color);

console.log(myObj.barFontColors)是否可以更改响应?将颜色作为字符串在数组中传递将更有意义。现在,你必须使用正则表达式来解析这个字符串,这既不美观,也不是非常严格的代码。即使没有解析,也很容易。提示:使用浏览器解析器进行此操作。@Rorymcrossan这是第三方响应,因此我无法更改。@dfsq不,亲爱的,我需要为我的ui进行解析。这是一个动态的反应。也许你在寻找这样的东西?确保打开浏览器控制台以查看结果。如果您不想/不需要了解该类,则可以删除
classN
。我只是为了调试而添加的。