正则表达式 - 不包含某些字符

时间:2010-11-05 12:50:04

标签: regex regex-negation

我需要一个正则表达式匹配,如果句子中的任何地方都没有<或>。

如果其中一个<或者>在字符串中然后它必须返回false。

我在这方面取得了部分成功,但前提是我的< >在开头或结尾:

(?!<|>).*$

如果有所不同,我正在使用.Net。

感谢您的帮助。

添加问题:

我想知道,如果文字包含<test>这样的标签,您如何修改以下正则表达式只返回false?

2 个答案:

答案 0 :(得分:331)

^[^<>]+$

字符类([^)中的插入符号表示匹配任何内容,因此这意味着,字符串的开头,然后是除<>之外的任何内容中的一个或多个,然后是字符串的结尾。

答案 1 :(得分:43)

你走了:

^[^<>]*$

这将测试没有<且没有>

的字符串

如果您想测试可能包含<>的字符串,但还必须使用其他字符串

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

其中[<>]表示任何<> [^<>]表示任何不属于<的任何内容或>

当然还有强制性link