import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?:BSSID +: (?<bssid>[a-z0-9]{2}(?::[a-z0-9]{2}){5}))|(?:Signal +: (?<signal>\\d+)%)";
final String string = "There is 1 interface on the system:\n\n"
+ " Name : Wi-Fi\n"
+ " Description : Intel(R) Wi-Fi 6 AX201 160MHz\n"
+ " GUID : random_guid\n"
+ " Physical address : 36:fe:a6:54:12:b0\n"
+ " Interface type : Primary\n"
+ " State : connected\n"
+ " SSID : random_ssid\n"
+ " BSSID : 36:fe:a6:54:12:b0\n"
+ " Network type : Infrastructure\n"
+ " Radio type : 802.11ac\n"
+ " Authentication : WPA2-Personal\n"
+ " Cipher : CCMP\n"
+ " Connection mode : Auto Connect\n"
+ " Band : 5 GHz\n"
+ " Channel : 149\n"
+ " Receive rate (Mbps) : 866.7\n"
+ " Transmit rate (Mbps) : 780\n"
+ " Signal : 85%\n"
+ " Profile : random_profile";
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