1、错误描述

今天使用正则表达式验证密码的时候,报了错误

java.util.regex.PatternSyntaxException: Incorrect Unicode property near index 32:

错误具体输出日志如下:

04-28 12:49:46.254 2224-2224/com.xtc.watch E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.xtc.watch, PID: 2224
java.util.regex.PatternSyntaxException: Incorrect Unicode property near index 32:
^(?![0-9]+$)(?![a-zA-Z]+$)(?!\pP+$)(\S){6,16}$
^
at java.util.regex.Pattern.compileImpl(Native Method)
at java.util.regex.Pattern.compile(Pattern.java:411)
at java.util.regex.Pattern.<init>(Pattern.java:394)
at java.util.regex.Pattern.matches(Pattern.java:424)
at java.lang.String.matches(String.java:1334)

该正则表达式的代码如下所示:

 String regex = "^(?![0-9]+$)(?![a-zA-Z]+$)(?!\\pP+$)(\\S){6,16}$";

2、解决方法

通过百度,查到一篇文章解决了该bug。该文章链接地址是:

http://stackoverflow.com/questions/22665156/incorrect-unicode-property-near-index

尝试把 \pP改成\p{P}

即将上面报错的错误正则表达式

  String regex = "^(?![0-9]+$)(?![a-zA-Z]+$)(?!\\pP+$)(\\S){6,16}$";

变成正确的正则表达式

String regex = "^(?![0-9]+$)(?![a-zA-Z]+$)(?!\\p{P}+$)(\\S){6,16}$";

这样就解决了该bug。

作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!

转载请保留原文地址:http://blog.csdn.net/ouyang_peng

最新文章

  1. 【STL】优先队列priority_queue详解+OpenJudge-4980拯救行动
  2. Java InMemoryCache
  3. 可伸缩性最佳实践:来自eBay的经验
  4. BZOJ3570 : DZY Loves Physics I
  5. matlab 画框(一)
  6. linux如何查看磁盘剩余空间
  7. EasyUI基础入门之Pagination(分页)
  8. XAMPP环境下用phpStorm+XDebug进行断点调试的配置
  9. HBase HTablePool
  10. Delphi中使用TXMLDocument控件应注意的问题
  11. iframe----摘抄出处未知
  12. .net 中常用的正则表达式整理
  13. canvas初学 半动态画太极图
  14. HTML语言字符编码
  15. List&lt;Map&lt;String, Object&gt;&gt;取值
  16. Java NIO Files
  17. mpvue 使用echarts动态绘制图表(数据改变重新渲染图表)
  18. 深入理解Java面向对象三大特性 封装 继承 多态
  19. 《设计模式》-原则五:合成/聚合复用原则(CARP)
  20. 指针式压力表自动读数:Auto Read the Value of Manometer

热门文章

  1. python学习之split()
  2. dedecms使用
  3. Linux之手动设置IP地址
  4. Compiler Error C2872: ambiguous symbol
  5. UITextField/UITextView限制字数
  6. 【原创】jpgraph中文乱码问题的解决
  7. Flex桌面AIR软件日志添加
  8. hdu6078 Wavel Sequence dp+二维树状数组
  9. CDH 安装配置指南(Tarball方式)
  10. toString() 和 (String) 以及 valueOf() 三者的对照关系[java]