import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^(\\w+) => (.*?)(?=(?:\\s^\\w+ =>|\\z))";
final String string = "processors => {\"models\"=>[\"AMD Opteron(tm) Processor 6172\", \"AMD Opteron(tm) Processor 6172\", \"AMD Opteron(tm) Processor 6172\", \"AMD Opteron(tm) Processor 6172\"], \"count\"=>4, \"physicalcount\"=>2}\n"
+ "productname => VMware Virtual Platform\n"
+ "ps => ps -ef\n"
+ "puppetversion => 3.6.2\n"
+ "rubysitedir => /usr/local/brs/harmony-puppet/lib/ruby/site_ruby/2.1.0\n"
+ "rubyversion => 2.1.2\n"
+ "sshecdsakey => AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNDUmg8FQGCO/r/VGABUPwBqT8zTwzXwZCjTdBC6cXj1Mo5ypxuqO1Qtwg9uQagcS5eLNbv+SxHotpzYSXZ1R8g=\n"
+ "sshfp_dsa => SSHFP 2 1 42ffbd293f1501c0718b2b7b3852542329da1758\n"
+ "SSHFP 2 2 eb52d78a34bdadecc41b38366a5580c923bbb6cd0b81cec76de6379ce4251439\n"
+ "sshfp_ecdsa => SSHFP 3 1 d41abd2e3aff846b4efb59dbc8e4803875d33130\n"
+ "SSHFP 3 2 ae77a20a66859976e06efb7d6dd0819db4f9e9d93bc55da52a4bffff6acb1baa\n"
+ "sshfp_rsa => SSHFP 1 1 d3f14587683138e6d10cacba92fa34364ed5d326\n"
+ "SSHFP 1 2 132856925e056d02767e6c6ca4015ed21ac4c6eddb727f7c69e5edecb8806884\n"
+ "sshrsakey => AAAAB3NzaC1yc2EAAAADAQABAAABAQDzcJ6158aIkY161vcDH6WKNgKAeUsxrHh+HJH9IEistcV2TUJSdHtG/p5peI+cTa0EhabbNw8ToUU3ZWYmiTmxxuZzxggAxCx6xhWNDgC/492QnouxHnqjxwpFyIYnLpdbaMRV/6t9iE7v09Gfb31TS3/DbAUh5yla1OOeHbxJQ/eUOUYgy7/6eFL43+R9SfiuP11VRK8r325mCOFaPqw8VuNeGul/rMnccBCbuFvgmQnfOo/ldwrfOL2W4qAvfE0bKyG13WrDSlauo+CFtYqDK08hCItjrbVKgVrOzLCuKGzKFuqOgF3u8Q1je23qu7eUmF7lZPYVWSEpkh0xlR0p\n"
+ "swapfree => 1.45 GB\n"
+ "swapfree_mb => 1482.82\n"
+ "swapsize => 1.46 GB\n"
+ "swapsize_mb => 1497.00\n"
+ "system_uptime => {\"seconds\"=>6034301, \"hours\"=>1676, \"days\"=>69, \"uptime\"=>\"69 days\"}\n"
+ "timezone => PDT";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.DOTALL);
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