const regex = /(?:font)[\ ]+([A-Za-z0-9\=\:]+)[\}\ \}]/g;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(?:font)[\\ ]+([A-Za-z0-9\\=\\:]+)[\\}\\ \\}]', 'g')
const str = `conky.config = {
-- ------------------------- Windows Settings
own_window = true,
own_window_type = 'normal',
own_window_transparent = false,
own_window_hints = 'undecorated,sticky,below,skip_taskbar,skip_pager',
own_window_argb_visual = true,
own_window_argb_value = 0,
double_buffer = true,
background = true,
-- ------------------------- Position
alignment = 'bottom_left',
minimum_width = 295,
minimum_height = 155,
maximum_width = 313,
gap_x = 1252,
gap_y = 155,
border_inner_margin = 0,
border_outer_margin = 0,
border_width = 0,
-- ------------------------- Font
use_xft = true,
xftalpha = 0.8,
override_utf8_locale = true,
draw_shades = true,
default_shade_color = 'black',
draw_borders = false,
draw_outline = false,
font = 'Monofur:bold:size=8',
-- ------------------------- Color
default_color = 'DCDCDC',
color0 = '1793d0',
color1 = 'DDDDDD',
color2 = 'AAAAAA',
color3 = '888888',
-- ------------------------- OTHER
update_interval = 1,
lua_load = '~/.conky/ConkyBar/lua/net_graph.lua',
lua_draw_hook_pre = 'main_graph',
};
conky.text = [[
\${color DCDCDC}
\${color DCDCDC }
\${if_existing /proc/net/route enp8s0}\${voffset 25}\${goto 50}\${font}Network\${image ~/.conky/ConkyBar/img/networkhigh.png -p 0,15}
\${goto 50}\${font}Public ip: \${font Monofur:size=8}\${texeci 36000 wget -qO - http://ip.tupeux.com | tail}
\${voffset 81}\${goto 50}\${font}Recieve: \${font Monofur:size=8}\${downspeed enp8s0}\${goto 210}\${font}Send: \${font Monofur:size=8}\${upspeed enp8s0}\${else}\${if_existing /proc/net/route wlp2s0}\${voffset 25}\${goto 50}\${font}Network
\${goto 50}\${font}Public ip: \${font Monofur:size=8}\${texeci 36000 wget -qO - http://ip.tupeux.com | tail}\${goto 210}\${font}Sign: \${font Monofur:size=8}\${wireless_link_qual_perc wlp2s0}%
\${voffset 81}\${goto 50}\${font}Recieve: \${font Monofur:size=8}\${downspeed wlp2s0}\${goto 210}\${font}Send: \${font Monofur:size=8}\${upspeed wlp2s0}
\${if_match "\${wireless_link_qual_perc wlp2s0}"<"33"}\${image ~/.conky/ConkyBar/img/networklow.png -p 0,15 -s 45x45}\${else}\${if_match "\${wireless_link_qual_perc wlp2s0}"<"66"}\${image ~/.conky/ConkyBar/img/networkmid.png -p 0,15}\${else}\${image ~/.conky/ConkyBar/img/networkhigh.png -p 0,15}\${endif}\${endif}\${else}\${voffset 27}\${goto 50}\${font}Network\${image ~/.conky/ConkyBar/img/nonetwork.png -p 0,15}
\${goto 50}No connection\${endif}\${endif}
]];`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions