SetiSeeker
SetiSeeker

Reputation: 6684

Regex - Does not contain certain Characters

I need a regex to match if anywhere in a sentence there is NOT either < or >.

If either < or > are in the string then it must return false.

I had a partial success with this but only if my < > are at the beginning or end:

(?!<|>).*$

I am using .Net if that makes a difference.

Thanks for the help.

Upvotes: 431

Views: 748775

Answers (2)

Alin P.
Alin P.

Reputation: 44346

Here you go:

^[^<>]*$

This will test for string that has no < and no >

If you want to test for a string that may have < and >, but must also have something other you should use just

[^<>] (or ^.*[^<>].*$)

Where [<>] means any of < or > and [^<>] means any that is not of < or >.

And of course the mandatory link.

Upvotes: 103

Ned Batchelder
Ned Batchelder

Reputation: 375584

^[^<>]+$

The caret in the character class ([^) means match anything but, so this means, beginning of string, then one or more of anything except < and >, then the end of the string.

Upvotes: 692

Related Questions