import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "request=\"(?<Flag1>[A-Z]+\\s+(?<Flag2>\\/\\S+='[^']*')[^\"]*)\"";
final String string = "Aug 25 03:07:19 localhost.localdomainASM:unit_hostname=\"bigip1\",management_ip_address=\"192.168.41.200\",management_ip_address_2=\"N/A\",http_class_name=\"/Common/log_to_elk_policy\",web_application_name=\"/Common/log_to_elk_policy\",policy_name=\"/Common/log_to_elk_policy\",policy_apply_date=\"2020-08-10 06:50:39\",violations=\"HTTP protocol compliance failed\",support_id=\"5666478231990524056\",request_status=\"blocked\",response_code=\"0\",ip_client=\"10.43.0.86\",route_domain=\"0\",method=\"GET\",protocol=\"HTTP\",query_string=\"name='\",x_forwarded_for_header_value=\"N/A\",sig_ids=\"N/A\",sig_names=\"N/A\",date_time=\"2020-08-25 03:07:19\",severity=\"Eror\",attack_type=\"Non-browser Client,HTTP Parser Attack\",geo_location=\"N/A\",ip_address_intelligence=\"N/A\",username=\"N/A\",session_id=\"0\",src_port=\"39348\",dest_port=\"80\",dest_ip=\"10.43.0.201\",sub_violations=\"HTTP protocol compliance failed:Bad HTTP version\",virus_name=\"N/A\",violation_rating=\"5\",websocket_direction=\"N/A\",websocket_message_type=\"N/A\",device_id=\"N/A\",staged_sig_ids=\"\",staged_sig_names=\"\",threat_campaign_names=\"N/A\",staged_threat_campaign_names=\"N/A\",blocking_exception_reason=\"N/A\",captcha_result=\"not_received\",microservice=\"N/A\",tap_event_id=\"N/A\",tap_vid=\"N/A\",vs_name=\"/Common/adv_waf_vs\",sig_cves=\"N/A\",staged_sig_cves=\"N/A\",uri=\"/random\",fragment=\"\",request=\"GET /random?name=' or 1 = 1' HTTP/1.1\\r\\n\",response=\"Response logging disabled\"\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