Ich habe viele Beispiele dafür gesehen, wie ein ganzer regulärer Ausdruck ohne Berücksichtigung der Groß- und Kleinschreibung verwendet wird. Ich wundere mich, dass nur ein Teil des Ausdrucks die Groß- und Kleinschreibung nicht berücksichtigt.
Nehmen wir zum Beispiel an, ich habe eine Zeichenfolge wie diese:
fooFOOfOoFoOBARBARbarbarbAr
Was ist, wenn ich alle Vorkommen von "foo" unabhängig von der Groß- und Kleinschreibung abgleichen möchte, aber nur die Großbuchstaben "BAR" abgleichen möchte?
Die ideale Lösung wäre etwas, das über Regex-Geschmacksrichtungen hinweg funktioniert, aber ich bin auch daran interessiert, sprachspezifische zu hören (Danke Espo ).
Bearbeiten
Der von Espo bereitgestellte Link war sehr hilfreich. Es gibt dort ein gutes Beispiel für das Ein- und Ausschalten von Modifikatoren innerhalb des Ausdrucks.
Für mein erfundenes Beispiel kann ich so etwas tun:
(?i)foo*(?-i)|BAR
Dies macht das Match nur für den foo-Teil des Matchs unabhängig von Groß- und Kleinschreibung.
Das schien in den meisten Regex-Implementierungen zu funktionieren, außer in Javascript, Python und einigen anderen (wie Espo erwähnte).
Die großen, über die ich mich gewundert habe (Perl, PHP, .NET), unterstützen alle Änderungen im Inline-Modus.