import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(\\d+-\\d+-\\d+\\s\\S+)\\s+(\\w+)\\s(\\d+)\\s---\\s(\\S+.\\S+)\\s(\\S+\\s+:)\\s(\\S+.*)";
final String string = "2019-12-27 13:52:38.201 INFO 1 --- [Thread-8] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'\n"
+ "2019-12-27 13:52:39.535 INFO 1 --- [Thread-8] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed\n"
+ "2019-12-27 13:52:39.538 INFO 1 --- [Thread-8] com.netflix.discovery.DiscoveryClient : Shutting down DiscoveryClient ...\n"
+ "2019-12-27 13:52:42.539 INFO 1 --- [Thread-8] com.netflix.discovery.DiscoveryClient : Unregistering ...\n"
+ "2019-12-27 13:52:42.540 WARN 1 --- [DiscoveryClient-0] c.netflix.discovery.TimedSupervisorTask : task supervisor shutting down, can't accept the task\n"
+ "2019-12-27 13:52:42.597 INFO 1 --- [Thread-8] com.netflix.discovery.DiscoveryClient : Completed shut down of DiscoveryClient\n"
+ "2019-12-27 13:52:43.329 WARN 1 --- [XNIO-1 task-15] c.n.eureka.resources.InstanceResource : Not Found (Renew): RPLUS-SERVICE-COMMUNITY - 69bce99f652f:rplus-service-community:20090\n";
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