regex auf xml-tags...

Hallo, für den Fall das du eine Lösung nicht schon selbst gefunden hast, kann dir vielleicht folgender kleiner Code weiterhelfen:
Java:
public class Main
{
	public static void main(String[] args)
	{
		String data = "";
		try {
			Scanner scanner = new Scanner(new File("data.xml"));
			data = scanner.useDelimiter("\\Z").next();
			scanner.close();
		} catch(IOException e) {
			e.printStackTrace();
		}
		System.out.println(data.replaceAll("<\\s*(([^>\\s]+)(?:\"[^\"]*\"|'[^']*'|[^>\"'\\s]|\\s+(?!/))+)\\s*/\\s*>", "<$1>-1</$2>"));
    }
}
Das hier wäre also der RegEx (mit Escapesequenzen für Java):
Code:
<\\s*(([^>\\s]+)(?:\"[^\"]*\"|'[^']*'|[^>\"'\\s]|\\s+(?!/))+)\\s*/\\s*>
und der entsprechende Ersetzungsausdruck:
Code:
<$1>-1</$2>
So sollte das ganze dann so ersetzt werden wie du es haben willst. Zumindest wenn ich bei meinem RegEx nichts übersehen habe. 🙂

EDIT: Die ganze Pattern und Matcher Geschichte mal durch ein simpleres "replaceAll" ersetzt. 😉
 
Zuletzt bearbeitet:

Zurück
Oben