import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?ms)pid.*?req";
final String string = "Format which I need:\n\n"
+ "2019-11-10 15:22:32.662 +0300 (Default,mydzit.gov.sa\\kalsolai,4C8EC4A70F3149988B93370B16CADBEE-0:0,XcgBCNSpBpjM51ezrQYXrQAAAgE) catalina-exec-150 : INFO wgsessionId=rd9xUhIUR92tuPbGQkZrNQ com.tableausoftware.domain.session.SessionService - Non-guest user session found.\n\n"
+ "AND:\n\n"
+ "2019-11-10 15:22:40.816 +0300 (Default,mydzit.gov.sa\\kalsolai,F853E8F10C2742CBB071A090C3047519-0:0,XcgBENSpBpjM51ezrQYXvwAAAZE) catalina-exec-151 : INFO wgsessionId=rd9xUhIUR92tuPbGQkZrNQ com.tableausoftware.model.vizql.util.WithSessionAspect - Command not allowed on a shared session F853E8F10C2742CBB071A090C3047519. Cloning to a private session and retrying.\n\n"
+ "Format which no need:\n\n"
+ "first form:\n"
+ "{ [-]\n"
+ "k: msg\n"
+ "pid: 37552\n"
+ "req: -\n"
+ "sess: -\n"
+ "sev: info\n"
+ "site: -\n"
+ "tid: 4958\n"
+ "ts: 2019-11-06T17:06:06.305\n"
+ "user: -\n"
+ "v: Resource Manager: Memory info: 73,793,536 bytes (current process);52,410,015,744 bytes (Tableau total); 49,979,158,528 bytes (total of all processes); 30 (info count)\n"
+ "}\n\n"
+ "Second Form:\n"
+ "{\"ts\":\"2019-11-06T17:06:06.305\",\"pid\":37552,\"tid\":\"4958\",\"sev\":\"info\",\"req\":\"-\",\"sess\":\"-\",\"site\":\"-\",\"user\":\"-\",\"k\":\"msg\",\"v\":\"Resource Manager: Memory info: 73,793,536 bytes (current process);52,410,015,744 bytes (Tableau total); 49,979,158,528 bytes (total of all processes); 30 (info count)\"}";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
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