@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? 😵