Reguläre Ausdrücke

javaprogger1987

Erfahrenes Mitglied
Hi!
Ich brauche gerade für ein Problem reguläre Ausdrücke (bzw. es würde es wesentlich vereinfachen :-)), aber ich blick das nicht :/
Also ich habe einen String der auf folgende Zusammensetzung überprüft werden soll:
Code:
Kuenstler_-_01_-_Titel
bzw.
Code:
Kuenstler-01-Titel
wobei Kuenstler und Titel Strings beliebiger Länge sind (können auch Zeichen wie ( ) _ enthalten, auf keinen Fall Leerzeichen) und 01 im Prinzip eine Zahl beliebiger Länge (in der Regel 1-3 Ziffern) ist.
Wie könnte man das lösen?

Vielen Dank schonmal!
Gruß
Tobias
 
Was hast du denn bisher versucht?

Die Erklärungen zur Benutzung von reguläre Ausdrücken sind eigentlich im Javadoc zu Pattern ganz gut:
JDK 1.5 Pattern Javadoc

Meine Erfahrung dabei ist, dass man es nur nach einigem rumprobieren gut lernen kann und nicht wenn man fertige Lösungen anguckt :)

Kannst ja mal posten was du bisher so versucht hast, dann können wir da noch Tipps zu geben.
 
Hallo Tobias,

schau mal hier:
Java:
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexExample2 {

	private static String s = "String 12345 Kuenstler1_-_01_-_Titel2"
			+ "Apfel - Birne - Banane ________"
			+ "Kuenstler2_-_01_-_Titel2 Auto-Motorrad-Flugzeug "
			+ "Test_Test-Test Kuenstler3_-_01_-_Titel3 "
			+ "Kuenstler4-01-Titel4 _-_-_ Kuenstler-01-Titel" +
					"Hund-Katze_-_Maus";

	public static void main(String[] args) {
		String a = getAllMatches(s, "[^- ]+-[^- ]+-[^- ]+");
		String[] c = a.split("\u2022");

		for (int i = 0; i < c.length; i++) {
			System.out.println(c[i]);
		}
	}

	public static String getAllMatches(String input, String regex) {
		Pattern p = Pattern.compile(regex);

		Matcher m = p.matcher(input);
		String output = "";
		for (int i = 0; i < input.length(); i++)
			if (m.find()) {
				output = output + m.group() + "\u2022";
			}
		return output;
	}
}

Habe mich zwar nicht viel mit Regex beschäftigt. Denke aber dass es hier einigermaßen gut erklärt ist:
http://www.qalem.de/java/OOE2_04_RegEx_mittel.pdf


Vg Erdal
 
Zurück