EisFuX: REGEX Problem

Beitrag lesen

(Hallo|Hi(ho)|Mahlzeit) Spike,

Ich habe 3 Zeichenketten

ZeichenketteA ZeichenketteB ZeichenketteC

Nun muß ich mit regex folgendes abfragen:

Es soll entweder ZeichenketteA oder ZeichenketteB UND ZeichenketteC vorkommen

Für nicht exklusives ODER wäre das einfach:

  
/(ZeichenketteA|ZeichenketteB.*?ZeichenketteC|ZeichenketteC.*?ZeichenketteB)/s  

A | (B & C)

Falls dein "entweder" aber auf ein exklusives ODER hindeutet:

  
/\A.*?(ZeichenketteA|ZeichenketteB.*?ZeichenketteC|ZeichenketteC.*?ZeichenketteB).*\z/s  

A XOR (B & C)

Und falls du andere Vorrangregeln in der booleschen Logik hast als ich
(worauf dein großgeschriebenes UND hindeuten könnte):

  
/(ZeichenketteA.*?ZeichenketteC|ZeichenketteC.*?ZeichenketteA|ZeichenketteB.*?ZeichenketteC|ZeichenketteC.*?ZeichenketteB)/s  

(A | B) & C

Und letzteres mit Exklusivem-Entweder-ODER:

  
/\A.*?(ZeichenketteA.*?ZeichenketteC|ZeichenketteC.*?ZeichenketteA|ZeichenketteB.*?ZeichenketteC|ZeichenketteC.*?ZeichenketteB).*\z/s  

(A XOR B) & C

Ich hoffe mal, das waren jetzt alle (vernünftigen) Interpretationsmöglichkeiten. ;-)

MffG
EisFuX