import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^(\\d{1,3}(?:\\.\\d{1,3}){3})\\s*-\\s*((?1))\\s*-\\s*((?:[0-9A-Fa-f]{2}[:-]){3,6}[0-9A-Fa-f]{2})\\s*-\\s*(\\d\\d/\\d\\d/\\d{4}\\s\\d\\d(?::\\d\\d){2}|NEVER EXPIRES|INACTIVE)\\s*-\\s*(\\w)\\s*-\\s*(.*)$";
final String string = "Changed the current scope context to 192.25.200.0 scope.\n\n"
+ "Type : N - NONE, D - DHCP B - BOOTP, U - UNSPECIFIED, R - RESERVATION IP\n"
+ "============================================================================================\n"
+ "IP Address - Subnet Mask - Unique ID - Lease Expires -Type -Name \n"
+ "============================================================================================\n\n"
+ "192.25.200.4 - 255.255.255.192- 64-9e-f3-b3-81-d3 -01/08/2018 17:07:46 -D- BH1-WAP-01.local\n"
+ "192.25.200.5 - 255.255.255.192- 50-57-a8-30-11-f6 -01/08/2018 16:24:59 -D- BH1-WAP-03.local\n"
+ "192.25.200.6 - 255.255.255.192- f0-f7-55-df-c4-ff -01/08/2018 16:45:04 -D- BH1-WAP-02.local\n"
+ "192.25.200.7 - 255.255.255.192- 00-23-24-bb-ce-83 -04/08/2018 10:55:00 -D- CESTA1703043.LOCAL\n\n"
+ "No of Clients(version 4): 4 in the Scope : 192.25.200.0.\n\n"
+ "Command completed successfully.\n\n"
+ "Changed the current scope context to 192.25.200.64 scope.\n\n"
+ "Type : N - NONE, D - DHCP B - BOOTP, U - UNSPECIFIED, R - RESERVATION IP\n"
+ "============================================================================================\n"
+ "IP Address - Subnet Mask - Unique ID - Lease Expires -Type -Name \n"
+ "============================================================================================\n\n"
+ "192.25.200.68 - 255.255.255.192- 28-94-0f-05-ac-6c -01/08/2018 03:14:46 -D- WAP-C12-01-1047.local\n\n"
+ "No of Clients(version 4): 1 in the Scope : 192.25.200.64.\n\n"
+ "Command completed successfully.\n"
+ "Changed the current scope context to 192.28.211.0 scope.\n"
+ "192.28.211.27 - 255.255.255.0 -00-0a-13-00-00-00-00- NEVER EXPIRES -U- CFCameraNearlockers\n\n"
+ "Changed the current scope context to 192.28.194.0 scope.\n"
+ "192.28.194.254 - 255.255.255.0 -00-48-32-95-85 - INACTIVE -N- bms";
final String subst = "$1 ~ $2 ~ $3 ~ $4 ~ $5 ~ $6";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
// The substituted value will be contained in the result variable
final String result = matcher.replaceAll(subst);
System.out.println("Substitution result: " + result);
}
}
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