s3l*_*lph 1 java regex newline regex-negation
我已经google了很多,但我找不到任何解决方案.对于学校项目,我需要在字符串中找到不受支持的字符不受支持的字符.允许的是[A-Z\s].
我发现Pattern.match()只检查整个字符串是否与模式匹配.所以我尝试了这种模式:.*[^A-Z\\s].*
只要您在字符串中没有任何换行符,它就会起作用.为了检查它们,我也常常[.\\s]*[^A-Z\\s][.\\s]*处理它们,但现在没有任何工作了.
为此目的,正确的正则表达式是什么?
或者:
[绕过SO bug - 不能在列表项后面引用代码]
final Pattern p = Pattern.compile("[^A-Z\\s]");
if (p.matcher(input).find())
// illegal input, bark
Run Code Online (Sandbox Code Playgroud)
是的,.matches()被错误命名... Java中的真正正则表达式匹配是使用完成的.find().
| 归档时间: |
|
| 查看次数: |
372 次 |
| 最近记录: |