Unterstützung bei kleinem RegEx

CyborgBeta schrieb:
Soweit ich das sehe, hat er nach einem regulären Ausdruck gefragt (auch aus Lernzwecken), und nicht nach einer Oder-Aufzählung.
Richtig, an die OR Aufzählung hatte ich so gar nicht gedacht - und ja, ging mir auch drum, noch zusätzlich ein bisschen wieder zu lernen was das Matching für meine "Bäcker Umsätze" mit einem RegEx angeht. Aber alleine schon durch die Diskussion zu den Details hier habe ich vieles wieder etwas aufgefrischt.
 
  • Gefällt mir
Reaktionen: BeBur und CyborgBeta
@CyborgBeta Ach darum ging es dir die ganze Zeit, dass du der einzige warst der schlau genug war den i-Modifier hinzuschreiben... 🤦‍♂️ Glaube nicht dass das irgendjemanden sonst gebockt hat, ist ja offensichtlich, macht man aber je nach Sprache auf verschiedene Arten und in vielen sind die Modifier gar nicht Teil der RegEx...

Diese Argumentskette ist doch trotzdem Unfug?
CyborgBeta schrieb:
Soweit ich das sehe, hat er nach einem regulären Ausdruck gefragt (auch aus Lernzwecken), und nicht nach einer Oder-Aufzählung.
Marco01_809 schrieb:
(bäcker|baecker|baeckerei|backshop) ist eine RegEx.
CyborgBeta schrieb:
Ist case-sensitive. Lies doch mal das ganze Thema.
Dann ist es meinetwegen eine case-sensitive RegEx aber dennoch zweifellos eine RegEx. Den case-insensitivity-Modifier - auf welche Art auch immer du ihn setzt - kannst du dir ja wohl trivial dazu denken.

Genauso wie die insensitivity haben die meisten auch die word boundaries \b (bzw. start of line ^) vernachlässigt die der OP aber wahrscheinlich haben will. Wenn er nicht auf ganze Wörter matchen wollte, dann müsste er das Wort baeckerei gar nicht explizit nennen, denn baecker ist ein Präfix davon und matched immer schon vorher.

Also wenn man sich die word boundaries dazu denkt, dann ist deine RegEx b(ä|ae)cker(ei)?|backshop falsch weil sie bäckerei matched was gar nicht in der Wörterliste vom OP ist. Und wenn die boundaries nicht gewollt sind dann ist deine RegEx unnötig lang weil äquivalent zu b(ä|ae)cker|backshop. Muss man sich schon entscheiden.

Die Anforderungen vom OP sind allerdings auch sehr fragwürdig, das merkt man direkt wenn man versucht die RegEx zu kürzen... Warum sollte die Bäckerei nur matchen wenn sie nicht mit einem Umlaut geschrieben ist? 😵
 
  • Gefällt mir
Reaktionen: CyborgBeta
@Marco01_809 Weil bei Kontoauszügen bzw Überweisunglisten keine Umlaute erlaubt sein. Das wurde aber schon als Ziel der Übung hier genannt. Hast du nicht jedes Posting akribisch gelesen? ;-)
 
Hier ist einiges unklar:

  • der Use Case, wofür er das haben möchte
  • was gematcht werden soll
  • was nicht gematcht werden soll
  • wie gematcht werden soll (ob mit RegEx oder etwas anderes)
  • der Dialekt des RegExs
  • ob der RegEx möglichst kompakt sein soll
  • ob case-(in)sensitive

Solange das nicht geklärt ist, halte ich mich mal zurück.
 
  • Gefällt mir
Reaktionen: Marco01_809
Zurück
Oben