java - 使用正则表达式验证

标签 java regex

我想通过正则表达式验证字符串。 验证是: 每个字符都是有效的,但字符串不能仅包含连字符或仅包含空格。 例如

'-' -> 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/

相关文章:

java - Java 部署工具包支持哪些浏览器?

java - 登录 Java 和一般 : Best Practices?

java - Jetty + Guice + Jersey 在访问资源时给出 404

java - 在 Spring ApplicationContext.xml 中推送 Maven 属性

java - 开发和部署 ReSTLet 服务

java - Java 中允许空格字符的正则表达式

python - 如何使用正则表达式在 python 中的关键字列表之后提取单词?

php - 用于验证网络路径的正则表达式 PHP、jQuery、JavaScript、Ruby

Java 正则表达式在空格上拆分/未在前面

regex - 是否有正则表达式可以删除 Perl 中的尾部斜杠?