我想通过正则表达式验证字符串。 验证是: 每个字符都是有效的,但字符串不能仅包含连字符或仅包含空格。 例如
'-' -> NOT OK
' ' -> NOT OK
'--' -> OK
'-prwe'-> OK
'p u' -> OK
我正在尝试这个正则表达式:[^([^-]|[^\s])]
但它给了我一个错误,说“括号不平衡”
如果我只使用 ^([^-]|[^\s])
正则表达式是有效的,但这样我就不会否定捕获组,在这种情况下是 ^
符号表示“字符串的开头”。
我在伪正则表达式中的想法是这样的 -> NOT((NOT '-')|(NOT '\s'))
最佳答案
@aliteralmind 的答案非常适合检查他们是否搞砸了。如果您想在同一步骤中进行额外的解析,则需要负向前瞻,例如^(?!(?:-|\s*)$).*
.
关于java - 使用正则表达式验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22076659/