import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "\\\"tag\\\":\\\"[^\\-]+\\-[^\\_]+\\_([^\\-]+)";
final String string = "\"line\":\"level=info t=\\\"2019-01-29T18:19:42.999Z\\\" rt=2 method=GET path=\\\"/contentskus/5b7ee52a4f6b9c001b049ac3?dma=999\\u0026itemsPerPage=25\\u0026page=1\\\" sc=200 dma=999 apikey=DEFAULT amzn_trace_id=unknown enabledFeatures=recommendations,upcomingSearch,popularityQueriesPlatformSpecific,availabilityTimes,avoidDefaultQuery,useFavoritesExternalSchemaForD2C,useFavoritesV2ForFavoritesFilter,endCardRecommendations,cmsAuthFallback os=2 rid=\\\"6962240ed296c770\\\" mode=published\",\"source\":\"stdout\",\"tag\":\"ecs-uat_admin_v1sandbox_blue-35-uat-service-admin-d8d0a7a0c2dfe8ea6c00/503343765eaa\",\"attrs\":{\"SERVICE_NAME\":\"admin\",\"SERVICE_TAGS\":\"contentgroups,contentsettings,contentskus,metatags,settings,userroles,users,s3signurl\",\"SERVICE_VERSION\":\"v1sandbox\",\"com.amazonaws.ecs.task-arn\":\"arn:aws:ecs:us-west-2:776609208984:task/305f6e5a-d20d-4aa2-877d-1bba2d442a7b\"}}";
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