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个数字。。
或者
任意个数字。。。