import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "<Data Name=\"(.*?)\">(.*?)<\\/Data>";
final String string = "<Event><System><Provider Name=\"Linux-Sysmon\" Guid=\"{ff032593-a8d3-4f13-b0d6-01fc615a0f97}\"/><EventID>3</EventID><Version>5</Version><Level>4</Level><Task>3</Task><Opcode>0</Opcode><Keywords>0x8000000000000000</Keywords><TimeCreated SystemTime=\"2023-11-13T13:34:45.693615000Z\"/><EventRecordID>140108</EventRecordID><Correlation/><Execution ProcessID=\"24493\" ThreadID=\"24493\"/><Channel>Linux-Sysmon/Operational</Channel><Computer>computername</Computer><Security UserId=\"0\"/></System><EventData><Data Name=\"RuleName\">-</Data><Data Name=\"UtcTime\">2023-11-13 13:34:45.697</Data><Data Name=\"ProcessGuid\">{ba131d2e-2a52-6550-285f-207366550000}</Data><Data Name=\"ProcessId\">64284</Data><Data Name=\"Image\">/opt/splunkforwarder/bin/splunkd</Data><Data Name=\"User\">root</Data><Data Name=\"Protocol\">tcp</Data><Data Name=\"Initiated\">true</Data><Data Name=\"SourceIsIpv6\">false</Data><Data Name=\"SourceIp\">x.x.x.x</Data><Data Name=\"SourceHostname\">-</Data><Data Name=\"SourcePort\">60164</Data><Data Name=\"SourcePortName\">-</Data><Data Name=\"DestinationIsIpv6\">false</Data><Data Name=\"DestinationIp\">x.x.x.x</Data><Data Name=\"DestinationHostname\">-</Data><Data Name=\"DestinationPort\">8089</Data><Data Name=\"DestinationPortName\">-</Data></EventData></Event>";
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