匹配不包含特定字符序列的字符串

2 .net regex asp.net regex-negation

我正在尝试使用正则表达式来匹配一个字符串,该字符串不包含小于符号(<)后跟非空格的字符序列.这里有些例子

有效 - "A new description."
有效 - "A < new description."
无效 -"A <new description."

我似乎无法找到正确的表达来获得匹配.我正在使用Microsoft Regular Expression验证器,所以我需要它是一个匹配而不是使用代码来否定匹配.

任何援助将不胜感激.


戴尔,谢谢

Ala*_*ore 6

@"^(?:[^<]+|<(?!\s))*$"
Run Code Online (Sandbox Code Playgroud)

如果字符串中的最后一个字符是"<",则对空格执行负向预测允许它匹配.这是另一种方式:

^(?!.*<\S).+$
Run Code Online (Sandbox Code Playgroud)

前瞻扫描整个字符串的"<"后面紧跟一个非空白字符.如果找不到,则".+"继续并匹配字符串.