Regex java, wie prüfe ich ob ein bestimmtes Zeichen in meiner Zeichenkette enthalten ist?

1 Antwort

/0/

mehr kann man dazu so nicht sagen :)

kurzanleitung

Texte, Zahlen, Klassen

Die 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: Quantoren

Mit 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

aisdqw8 
Fragesteller
 06.11.2021, 18:00

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?

0
aisdqw8 
Fragesteller
 06.11.2021, 18:00
@aisdqw8

Also warum funktioniert das so?

0
TechPech1984  06.11.2021, 18:01
@aisdqw8

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 .

0
aisdqw8 
Fragesteller
 06.11.2021, 18:02
@aisdqw8

Das klappt nicht /0/ und auch //0// klappt net

0
TechPech1984  06.11.2021, 18:52
@aisdqw8

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 .

0
aisdqw8 
Fragesteller
 06.11.2021, 18:54
@TechPech1984

Das ist kein Troll, aber der ausdruck funktioniert halt ehrlich nicht, da wird was gematcht aber nicht die 0

0
GuteAntwort2021  28.11.2021, 01:09
@aisdqw8

Dann probier' mal:

"3a9822b0389".matches("(.*)0(.*)")

Java ist eine umständliche Sprache, deswegen wechseln die meisten Java-Entwickler ja auch zu Kotlin.

0