首页 文章

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

提问于
浏览
188

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

如果<或>中的任何一个都在字符串中,那么它必须返回false .

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

(?!<|>).*$

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

谢谢您的帮助 .

Add on Question:

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

2 回答

  • 313
    ^[^<>]+$
    

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

  • 41

    干得好:

    ^[^<>]*$
    

    这将测试没有 < 且没有 > 的字符串

    如果你想测试一个可能有 <> 的字符串,但是还必须有其他你应该使用的字符串

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

    其中 [<>] 表示 <> 中的任何一个, [^<>] 表示不属于 <> 的任何内容 .

    当然是强制性的link .

相关问题