Hilfe mit Regex

gibst du eine Folge von Buchstaben und Zahlen ein bei der irgendwo 13 Zahlen am Stück enthalten sind ist die RegEx true wenn z.B. diese 13 Zahlen von 2 Buchstaben begrentzt werden.

Eben nicht. Das ist ja der Unterschied zwischen matches und lookingAt.


Habe gerade das mit .lookingAt versucht, doch kennt er diesen Befehl nicht.

Ich dachte irgendwie "eanc" wäre eine Instanz von Matcher, aber es ist ja nur ein String. Also musst du erst eine Instanz davon erstellen. (ist alles im pakage java.util.regex)


Java:
if ( Pattern.compile("\\D").matcher( eanc ).lookingAt() ) {
 
Magst du mir die Zeile eben erklären, das ist nämlich etwas zu viel auf einmal für einen Neuling wie mich, um dieses zu verstehen. Habe das jetzt so gemacht wie von dir geschrieben:
Java:
if ( Pattern.compile("\\D").matcher( eanc ).lookingAt() ) {
   label3.setText("In dem Barcode ist ein Buchstabe enthalten, bitte erneut eingeben");
   System.out.println("In dem Barcode ist ein Buchstabe enthalten, bitte erneut eingeben");
   }

Bloß jetzt zeigt er den Fehler wieder einmal nur, wenn ein Buchstabe an erster Stelle steht. Das verwirrt mich langsam echt :(

MfG
 
Ja, ich hab mich doch geirrt. Nimm "find" anstelle von "lookingAt".

matches: Gesamter Text muss passen
lookingAt: Der Anfang des Textes muss passen
find: Irgendwas innerhalb des Textes muss passen

Jetzt den Code erklärt (Normalerweise schreib man nicht alles in eine Zeile :-D):

Java:
if ( Pattern.compile("\\D").matcher( eanc ).find() ) {

Java:
//Kompiliert den Ausdruck für die Weitere Verwendung und liefert eine Instanz von Pattern
Pattern.compile("\\D")

//Die zurückgegebene Instanz von Pattern wird auf den Text angewendet und man erhält eine Instanz von Matcher, um die damit weiter zu arbeiten
.matcher( eans )

//Wir rufen die find-Methode der Matcher Instanz auf, um mit dem vorher kompilierten Ausdruck im Text zu suchen. Liefert true/false
.find()
 
Ich danke dir, tausende male :D
Endlich klappt das so, wie ich das will. Kannst du mir evtl. ein Buch empfehlen, nach dem man sich in Sachen Java richten kann, bzw. nach dem man die Prog. Sprache ausführlich lernt? Der Unterricht in der Schule lässt schon etwas zu wünschen übrig und ich würde gerne mehr können.

Danke dir nochmal ;)
MfG
 
Zurück