import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "Number\\:\\s(?<Number>\\d+)[\\r\\n]Category\\:\\s(?<Category>.*).*[\\r\\n].*[\\r\\n].*[\\r\\n]What\\sis\\sthe\\sspecific\\srole\\sor\\sfunction\\sof\\sthis\\sserver\\?\\:\\s(?<Function>.*).*[\\r\\n].*[\\r\\n].*[\\r\\n].*[\\r\\n].*[\\r\\n].*[\\r\\n].*[\\r\\n].*[\\r\\n].*[\\r\\n].*[\\r\\n]Server\\sHostname\\:\\s(?<Hostname>.*).*[\\r\\n]Server\\sAllegiance\\:\\s(?<Domain>.*).*[\\r\\n].*[\\r\\n]Physical\\sLocation\\:\\s(?<Location>.*).*[\\r\\n].*[\\r\\n].*[\\r\\n].*[\\r\\n].*[\\r\\n]Local\\sAdministrators\\:\\s+([\\w\\s]+)[\\r\\n].*[\\r\\n].*[\\r\\n]Task\\sDescription\\:\\s(?<Task>.*)";
final String string = "Task # 12347859 has been opened and assigned to XXXXXXX - . \n"
+ "Task # 12347859\n"
+ "Client Details\n"
+ "Jackie Newman\n"
+ "servicedesk@thenet.com\n\n"
+ "Assignment Details\n"
+ "User course@email.com\n\n"
+ "Status and Priority Details\n"
+ "Urgency: 4-LOW\n"
+ "Impact: 4-MINOR\n"
+ "Status: Assigned\n"
+ "Task Details\n"
+ "Number: 12347859\n"
+ "Category: Add/Upgrade Server Software \n"
+ "Application: Production Web Server\n"
+ "Linked Record: CR123458756 - 2-Implementation\n"
+ "What is the specific role or function of this server?: XXXXXXXXXXXX\n"
+ "What is the primary application for this server deployment?: XXXXXXXXXXXXX\n"
+ "Provide a detailed description that explains the function or role of the server.: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"
+ "It will also be used as a proxy Card Recon scan server to scan application databases\n"
+ "Is this replacing an existing server?: Si\n"
+ "Please explain when will the old server be decommissioned?: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"
+ "Is this a physical or virtual server?: XXXXXXXXX\n"
+ "What is the required Operating System?: XXXXXXXXX\n"
+ "Patching Schedule: XXXXXXXXX\n"
+ "Environment - Is the server Production, Development or Disaster Recovery?: XXXXXXXXX\n"
+ "Server Hostname: XXXXXXXXX\n"
+ "Server Allegiance: XXXXXXXXX\n"
+ "Will SQL Server be required on this server?: XXX\n"
+ "Physical Location: XXXXXXXXX\n"
+ "Include in Enterprise Backups?: XX\n"
+ "Resource Requirements: RAM: XXXX\n"
+ "Resource Requirements: CPUs: XX\n"
+ "Resource Requirements: Disk [Quantity and Size(s)]: 40GB\n"
+ "Local Administrators: XXXXXXXXX\n"
+ "XXXXXXXXX\n"
+ "XXXXXXXXX\n"
+ "XXXXXXXXX\n"
+ "Directories to be excluded from Anti-Virus scanning: None\n"
+ "Additional Comments:\n"
+ "Task Description: XXXXXXXXX\n";
final Pattern pattern = Pattern.compile(regex);
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