tags:

views:

55

answers:

3

Ok you gurus out there who know Regex!

How do you use reg ex to search a string to make sure it doesn't contain either of two different strings.

Example: Say i want to make sure "FileNTile" doesnt contain File or Tile

Thanks

cnorr

A: 

It depends on the language. Easiest way (conceptually): search for both, and make sure both fail to match. In Ruby:

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

This is unlikely to be a good idea though. Almost every programming environment will have a clearer and more efficient approach with string matching. (eg Python: if 'File' not in s and 'Tile' not in s)

Also not all regex implementations have lookahead. eg. it's not reliable in JavaScript. And there may be issues with newlines depending on mode (multiline, dotall flags).

bobince
A: 

Does C# have such a method?

Thanks for your assistance,

Chris

Chris