import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?:font)[\\ ]+([A-Za-z0-9\\=\\:]+)[\\}\\ \\}]";
final String string = "conky.config = {\n"
+ "-- ------------------------- Windows Settings\n"
+ " own_window = true,\n"
+ " own_window_type = 'normal',\n"
+ " own_window_transparent = false,\n"
+ " own_window_hints = 'undecorated,sticky,below,skip_taskbar,skip_pager',\n"
+ " own_window_argb_visual = true,\n"
+ " own_window_argb_value = 0,\n\n"
+ " double_buffer = true,\n"
+ " background = true,\n\n"
+ "-- ------------------------- Position\n"
+ " alignment = 'bottom_left',\n\n"
+ " minimum_width = 295,\n"
+ " minimum_height = 155,\n"
+ " maximum_width = 313,\n\n"
+ " gap_x = 1252,\n"
+ " gap_y = 155,\n\n"
+ " border_inner_margin = 0,\n"
+ " border_outer_margin = 0,\n"
+ " border_width = 0,\n\n"
+ "-- ------------------------- Font\n"
+ " use_xft = true,\n"
+ " xftalpha = 0.8,\n"
+ " override_utf8_locale = true,\n\n"
+ " draw_shades = true,\n"
+ " default_shade_color = 'black',\n\n"
+ " draw_borders = false,\n"
+ " draw_outline = false,\n\n"
+ " font = 'Monofur:bold:size=8',\n\n"
+ "-- ------------------------- Color\n"
+ " default_color = 'DCDCDC',\n"
+ " color0 = '1793d0',\n"
+ " color1 = 'DDDDDD',\n"
+ " color2 = 'AAAAAA',\n"
+ " color3 = '888888',\n\n"
+ "-- ------------------------- OTHER\n"
+ " update_interval = 1,\n\n"
+ " lua_load = '~/.conky/ConkyBar/lua/net_graph.lua',\n"
+ " lua_draw_hook_pre = 'main_graph',\n\n"
+ "};\n\n"
+ "conky.text = [[\n"
+ "${color DCDCDC}\n"
+ "${color DCDCDC }\n"
+ "${if_existing /proc/net/route enp8s0}${voffset 25}${goto 50}${font}Network${image ~/.conky/ConkyBar/img/networkhigh.png -p 0,15}\n"
+ "${goto 50}${font}Public ip: ${font Monofur:size=8}${texeci 36000 wget -qO - http://ip.tupeux.com | tail}\n"
+ "${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\n"
+ "${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}%\n"
+ "${voffset 81}${goto 50}${font}Recieve: ${font Monofur:size=8}${downspeed wlp2s0}${goto 210}${font}Send: ${font Monofur:size=8}${upspeed wlp2s0}\n"
+ "${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}\n"
+ "${goto 50}No connection${endif}${endif}\n"
+ "]];";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
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 Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html