求几个正则表达式

SHYYUNXIA 2010-11-14 02:50:35
第一个正则表达式要求:定长8位,数字起始,不足8位后面用空格补充.

第二个正则表达式要求:字母,数字以及特殊字符组成的定长10位.
...全文
85 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
houjin_cn 2010-11-16
  • 打赏
  • 举报
回复
第一个可以这样吗?

String s="123 ";
s=s+s;
System.out.println(s.matches("\\d{1,8} *[\\d ]{8}"));
石头飘北 2010-11-15
  • 打赏
  • 举报
回复
//first
String s="1b12c ";
System.out.println(s.length()==8 && s.matches("\\d{1,8}+\\S{0,7}+ *"));
SHYYUNXIA 2010-11-15
  • 打赏
  • 举报
回复
一定要用正则,不可以s.length()==8这样判断.

实在java中使用的,Perl5Util.match()
houjin_cn 2010-11-14
  • 打赏
  • 举报
回复

//第一个
String s="123 ";
System.out.println(s.length()==8 && s.matches("\\d{1,8} *"));

//第二个
s="12ABC#$%^&";
System.out.println(s.matches("[\\p{Alnum}\\p{Punct}]{10}"));
SHYYUNXIA 2010-11-14
  • 打赏
  • 举报
回复
第一个没有简单一点的么?
closewbq 2010-11-14
  • 打赏
  • 举报
回复
正则只能个你匹配,不能给你补足!
SHYYUNXIA 2010-11-14
  • 打赏
  • 举报
回复
第一个正则表达式:
^\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-\u9fa5\uf900-\ufa2d]+$

以上的答案,希望有另外的新解,简单一些的,有人知道么,对于第二个,如果有人发现有问题,麻烦也告之一下,谢谢各位了!
friendly_ 2010-11-14
  • 打赏
  • 举报
回复
不足8位,用空格补充这应该是程序做的事,不是正则来做的
SHYYUNXIA 2010-11-14
  • 打赏
  • 举报
回复
第二个已经解决,现求第一个,各位路过的看看,帮个忙阿,谢谢了
SHYYUNXIA 2010-11-14
  • 打赏
  • 举报
回复
高手,在线等待

50,541

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧