Ich versuche, das Tag und den Text zwischen den Tags in einer Textdatei zu extrahieren. Ich versuche dies mit Regex zu erreichen (nicht viele XML-Tags sind da).Extrahieren von Tags und Text zwischen Tags mithilfe von Regex für eine Zeichenfolge mit XML-Tags
unten ist das, was ich
String txt="<DATE>December</DATE>";
String re1="(<[^>]+>)"; // Tag 1
String re2="(.*?)"; // Variable Name 1
String re3="(<[^>]+>)"; // Tag 2
Pattern p = Pattern.compile(re1+re2+re3,Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
Matcher m = p.matcher(txt);
if (m.find())
{
String tag1=m.group(1);
String var1=m.group(2);
String tag2=m.group(3);
//System.out.print("("+tag1.toString()+")"+"("+var1.toString()+")"+"("+tag2.toString()+")"+"\n");
System.out.println(tag1.toString().replaceAll("<>", ""));
System.out.println(var1.toString());
}
Als Antwort bisher versucht haben, die ich erhalten:
<DATE>
December
Wie kann ich von der <>
loswerden?
Es funktioniert. Aber es erkennt keine weiteren Tags im Satz. Beispiel: 'American Airlines Flüge in Dezember gemacht ' es erkennt nur TRIPS und 100, aber nicht das nächste Tag –
Betafish
@Betafish: '' geschlossen ist nicht von einem '' Tag in Ihrem Beispiel. Wenn Sie das ignorieren möchten, können Sie 're3 ="?([^>] +)> "' oder 're3 = re1' verwenden. –
fabian