我是正规表达的新手。我正在尝试为我的网站制作其中两个:
第一个:可以使用任何字符,但如果字符串中的任何位置有<
和/或>
,则不允许这样做。
第二个:与上面相同,但不允许使用零长度或空白字符串。
我到目前为止所有人都可能{1}为第一个,也许[^<>]
在第二个,但我认为他们甚至不能正确满足我的要求。帮助赞赏。
(注意:我将在 ASP.NET ^\S+$
控件中使用这些
答案 0 :(得分:2)
可以使用任何字符,但如果字符串中的任何位置有
<
和/或>
,则不允许这样做。
^[^<>]*$
见this demo。 [^...]
是一个negated character class,可以匹配任何字符,但会在其中定义。 *
匹配0+个字符(因此,允许空匹配)。 ^
断言字符串开头的位置,$
- 最后。
与上述相同,但不允许使用零长度或空白字符串。
^(?!\s+$)[^<>]+$
请参阅another demo
(?!\s+$)
negative lookahead(\s+
匹配1 +空格并且$
断言字符串末尾的位置)这里防止匹配仅为空格的字符串。 +
量词匹配1个以上的字符(因此,不允许空匹配)。