日期:2014-05-20  浏览次数:20831 次

下面的正则表达式什么意思?请详细讲解谢谢
Pattern p = Pattern.compile("^([0-9]{3}-?[0-9]{8})|([0-9]{4}-?[0-9]{7})|([0-9]*)$");

希望大神详细讲解

------解决方案--------------------
判断一个字符串是否是符合下面的条件
([0-9]{3}-?[0-9]{8})
前三位是数字,然后是-,然后下一个字符可以又或者没有,然后接着是8个数字。。
或者
前面4个数字,然后是-,然后下一个字符可以又或者没有,然后接着是7个数字。。
或者
任意个数字。。。