import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "-*\\nRuntime error\\n*User: (?<User>\\w.+)\\nDomain: (?<Domain>\\w.+)\\nURI: (?<uri>\\/?\\w.+)\\nReferer: (?<referer>\\w.+)\\nAgent: (?<agent>\\w.+)\\n.+\\n.+\\nweb.Server Traceback \\(most recent call last\\):\\n(?<trace>.(.|\\n)*)";
final String string = "-------------------------------------------------\n"
+ "Runtime error\n\n"
+ "User: Dr. AkomaDr (896)\n"
+ "Domain: staging-app.clickmedix.com \n"
+ "URI: /users/profile_edit \n"
+ "Referer: https://staging-app.clickmedix.com/akomapa/users/profile_edit \n"
+ "Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36 \n"
+ "Params: {} \n"
+ " \n"
+ "web.Server Traceback (most recent call last):\n"
+ "[Failure instance: Traceback: <type 'exceptions.ZeroDivisionError'>: integer division or modulo by zero\n"
+ "/srv/click/shared/virtualenv/lib/python2.7/site-packages/twisted/web/http.py:1349:dataReceived\n"
+ "/srv/click/shared/virtualenv/lib/python2.7/site-packages/twisted/web/http.py:1563:_finishRequestBody\n"
+ "/srv/click/shared/virtualenv/lib/python2.7/site-packages/twisted/web/http.py:1618:allContentReceived\n"
+ "/srv/click/shared/virtualenv/lib/python2.7/site-packages/twisted/web/http.py:773:requestReceived\n"
+ "--- <exception caught here> ---\n"
+ "/srv/click/shared/virtualenv/lib/python2.7/site-packages/twisted/web/server.py:131:process\n"
+ "/srv/click/shared/virtualenv/lib/python2.7/site-packages/twisted/web/server.py:562:getResourceFor\n"
+ "/srv/click/shared/virtualenv/lib/python2.7/site-packages/twisted/web/resource.py:65:getChildForRequest\n"
+ "/srv/click/shared/virtualenv/src/warp/warp/webserver/resource.py:208:getChildWithDefault\n"
+ "/srv/click/current/util/helpers.py:78:getResponse\n"
+ "/srv/click/current/nodes/users/users.py:255:render_profile_edit";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
if (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