2010-01-28 11 views

Antwort

0

Es hängt von der Sprache. Der einfachste Weg (konzeptuell): Suchen Sie nach beiden und stellen Sie sicher, dass beide nicht übereinstimmen. In Ruby:

s = "FileNTile" 
(s !~ /File/) and (s !~ /Tile) # true if s is free of files and tiles. 
11
^((?!File|Tile).)*$ 

Dies ist unwahrscheinlich, obwohl eine gute Idee zu sein. Fast jede Programmierumgebung wird einen klareren und effizienteren Ansatz mit String-Matching haben. (z. B. Python: if 'File' not in s and 'Tile' not in s)

Auch nicht alle Regex-Implementierungen haben Lookahead. z.B. Es ist nicht zuverlässig in JavaScript. Und je nach Modus können Probleme mit Zeilenumbrüchen auftreten (mehrzeilig, dotall-Flags).

Verwandte Themen