问题描述
第一个正则表达式要求:定长8位,数字起始,不足8位后面用空格补充.第二个正则表达式要求:字母,数字以及特殊字符组成的定长10位.
解决方案
解决方案二:
高手,在线等待
解决方案三:
第二个已经解决,现求第一个,各位路过的看看,帮个忙阿,谢谢了
解决方案四:
不足8位,用空格补充这应该是程序做的事,不是正则来做的
解决方案五:
第一个正则表达式:^d{8}$|^d{1}{7}$|^d{2}{6}$|^d{3}{5}$|^d{4}{4}$|^d{5}{3}$|^d{6}{2}$|^d{7}{1}$|^{8}$第二个正则表达式:(因为要求是英文格式下的,所以没有用.+,要排除汉字)^[^u4e00-u9fa5uf900-ufa2d]+$以上的答案,希望有另外的新解,简单一些的,有人知道么,对于第二个,如果有人发现有问题,麻烦也告之一下,谢谢各位了!
解决方案六:
正则只能个你匹配,不能给你补足!
解决方案七:
第一个没有简单一点的么?
解决方案八:
//第一个Strings="123";System.out.println(s.length()==8&&s.matches("\d{1,8}*"));//第二个s="12ABC#$%^&";System.out.println(s.matches("[\p{Alnum}\p{Punct}]{10}"));
解决方案九:
//firstStrings="1b12c";System.out.println(s.length()==8&&s.matches("\d{1,8}+\S{0,7}+*"));
解决方案十:
该回复于2010-12-02 11:28:04被版主删除
解决方案十一:
一定要用正则,不可以s.length()==8这样判断.实在java中使用的,Perl5Util.match()
解决方案十二:
第一个可以这样吗?Strings="123";s=s+s;System.out.println(s.matches("\d{1,8}*[\d]{8}"));