Regex java, wie prüfe ich ob ein bestimmtes Zeichen in meiner Zeichenkette enthalten ist?
Hi, wenn ich zum Beispiel die Zeichenkette "90329" habe und ich will prüfen ob eine 0 irgendwo in meiner Zeichenkette vorhanden ist, wie mache ich das? wie wäre der rgex befehl bei matches?
1 Antwort
/0/
mehr kann man dazu so nicht sagen :)
kurzanleitung
Texte, Zahlen, KlassenDie einfachsten Pattern bestehen genau aus den Zeichen die gesucht werden. Wenn man ein A suchen will benutzt man den Pattern /A/. Wenn man eine 1 suchen will benutzt man den Pattern /1/.
Dann gibt es ein paar praktische Abkürzungen:
- \d eine Ziffer, also 1 oder 2 oder .... 9
- \D keine Ziffer, also jedes andere zeichen ausser 1 oder 2 oder .... 9
- \w Ein Wort-Zeichen, das sind kleine + grosse Buchstaben, Ziffern und der Unterstrich_
- \W kein Wort-Zeichen
- \s Ein Leerzeichen oder Tabulator
- \S kein Leerzeichen oder Tabulator, also fast alle zeichen
Achtung: diese Abkürzungen matchen jeweils ein Zeichen. Wenn es mehrere sein sollen schreibe ich mehrere an:
/\d\d\d/ sucht eine dreistellige zahl (irgendwo im string)
Anfang und Ende^ Anfang
$ Ende
Beispiel: ^Wort$
Wiederholungen: QuantorenMit den folgenden sog. Quantoren, gibt man an, wie oft sich ein bestimmtes Ausdruck wiederholen darf.
Sie werden hinter einen Ausdruck geschrieben und geben dann an, wie oft dieser vorkommen darf:
- ? : null- oder einmal , d.h. der Ausdruck ist optional
- + : mindestens einmal
- * : beliebig oft (auch keinmal)
- {n} : genau n-mal
- {min,max} : mindestens min-mal und maximal max-mal
- {min,} : mindestens min-mal
- {,max} : maximal max-mal
https://www.webmasterpro.de/coding/article/einfuehrung-in-regular-expressions.html
weil / das anfang und ende zeichen ist , und eben das was du reinschreibst dann so verglichen wird. regex funktioniert nun einmal so .
was soll man dazu noch sagen . so funktioniert regex, kannst dir ja gerne dazu die Java Classe angucken und wie sie arbeitet .
tja, irgendwie scheinst du ein generelles problem zu haben
ohne CODE können wir auch nicht sagen was du falsch machst .
z.b. könnte es in '/0/' oder "/0/" sein , ich weiss ja nicht was du für eine dokumentation oder beispiel nutzt oder ob du einfach wild rumprobierst .
hier mal mit beispielen
https://www.vogella.com/tutorials/JavaRegularExpressions/article.html
naja du postest ja auch kein CODE .
warum , weil du wohl nur trollen willst. aber egal . selbst wenn du jetzt noch postest, ich werde es ignorieren , wer nicht will hat schon . ist ja nciht mein problem sondern deins, darfste gerne behalten .
Das ist kein Troll, aber der ausdruck funktioniert halt ehrlich nicht, da wird was gematcht aber nicht die 0
Dann probier' mal:
"3a9822b0389".matches("(.*)0(.*)")
Java ist eine umständliche Sprache, deswegen wechseln die meisten Java-Entwickler ja auch zu Kotlin.
Ja, das habe ich gelesen, aber wo interpretiert man da, dass /0/ z. B. das bewirkt? Also warum überprüfr /0/ die ganze Zeichenkette, ob es vorhanden sit?