【发布时间】:2014-02-27 18:02:37
【问题描述】:
我想通过正则表达式验证字符串。 验证是: 每个字符都有效,但字符串不能只包含连字符或空格。 例如
'-' -> NOT OK
' ' -> NOT OK
'--' -> OK
'-prwe'-> OK
'p u' -> OK
我正在尝试这个正则表达式:[^([^-]|[^\s])]
但它给了我一个错误,说“不平衡的括号”
如果我只使用^([^-]|[^\s]),则正则表达式是有效的,但这样我不会否定捕获组,在这种情况下,^ 符号表示“字符串开始”。
我在伪正则表达式中的想法是这样的 -> NOT((NOT '-')|(NOT '\s'))
【问题讨论】:
-
[]是 character class,而不是组。[^..]是字符类的否定。你也不能在字符类中使用组。