CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

初学正则表达式,请教简单问题

楼主prentice1001(徒弟)2006-06-19 11:11:58 在 Java / J2SE / 基础类 提问

看了一些关于正则表达式的文章,但不太明白,不知道怎么用,代码如何写,请高手给出代码点拨一下俺:  
  1.要判断一个字符串是否全是数字。  
  2.判断字符串是否以百分号(%)结束  
  3.将字符串中以   冒号及以后的字符串替换成_     比如       0000:ABCDder909000替换后成0000_909000 问题点数:100、回复次数:11Top

1 楼hellwindy(夜神·月)回复于 2006-06-19 11:23:15 得分 20

1.要判断一个字符串是否全是数字。   正则[0-9]+  
  2.判断字符串是否以百分号(%)结束   正则$%  
  3.:ABCDder   正则^:???????Top

2 楼ttaallkk1(j2ee_lover)回复于 2006-06-19 11:35:45 得分 20

1.  
  /^[0-9]+$/g  
  2.  
  /^%$/g  
  3.  
  var   pattern   =   /\:[a-zA-Z]*/i;  
  pattern.compile("\:[a-zA-Z]*","_");  
   
  大致这个意思  
  没有去查:   %的匹配  
  Top

3 楼liujiwe79(专业做控件)回复于 2006-06-19 11:41:08 得分 0

1.   正则[0-9]+  
  2.   正则$%  
  3.:ABCDder   正则^:???????  
  Top

4 楼believefym(feng)回复于 2006-06-19 11:54:53 得分 20

import   java.util.regex.*;  
  public   class   T060619   {  
   
  /**  
    *   @param   args  
    */  
  public   static   void   main(String[]   args)   {  
  //   TODO   Auto-generated   method   stub  
  Pattern   p   =   Pattern.compile("^\\d+$");  
  Matcher   m   =   p.matcher("12365");  
  System.out.println(m.find());  
  p   =   Pattern.compile(".*%");  
  m   =   p.matcher("asdfcc%");  
  System.out.println(m.find());  
  System.out.println("0000:ABCDder909000".replaceAll(":[a-zA-Z]*","_"));  
  }  
   
  }Top

5 楼zxhcloth(hima)回复于 2006-06-19 12:17:00 得分 30

"prentice1001   (徒弟)   "你好!  
   
  1.要判断一个字符串是否全是数字:  
  String   s1   =   "123456787";  
  if   (s1.matches("^\\d+$")){  
  System.out.println("matches");  
  }   else   {  
  System.out.println("not   matches");  
  }  
   
  2.判断字符串是否以百分号(%)结束  
  String   s2   =   "asdjfl3435_.,?sjdfj%";  
  if   (s2.matches("^(\\w|\\W)*%$")){  
  System.out.println("matches");  
  }   else   {  
  System.out.println("not   matches");  
  }  
   
  3.将字符串中以   冒号及以后的字符串替换成_     比如       0000:ABCDder909000替换后成0000_909000  
   
  Pattern   p3   =   Pattern.compile("\\:+[a-zA-Z]*");  
  Matcher   m3   =   p3.matcher("0000:adjflasjdfl9876");  
  String   s3   =   m3.replaceAll("_");  
  System.out.println(s3);  
   
  Thanks  
  HimaTop

6 楼sswater(光杆兵)回复于 2006-06-19 12:19:32 得分 0

推荐搂主看一篇简单易懂的文档:  
  http://www.regexlab.com/zh/regref.htm  
  Top

7 楼zhkchi(火焰神)回复于 2006-06-19 12:20:44 得分 0

比较欣赏believefym(暮色,miss,迷失,miss。。。)     他的做法。  
   
  Top

8 楼believefym(feng)回复于 2006-06-19 12:32:09 得分 10

修改第二个  
  p   =   Pattern.compile(".*%$");Top

9 楼wjs2338(Yesterday Once More)回复于 2006-06-19 13:14:42 得分 0

http://www.regexlab.com/zh/regref.htm     正则表达式参考文档Top

10 楼imnol(呼啦啦)回复于 2006-06-19 13:32:45 得分 0

upTop

11 楼xiaoxiao623()回复于 2006-06-19 15:05:41 得分 0

goodTop

相关问题

关键词

得分解答快速导航

  • 帖主:prentice1001
  • hellwindy
  • ttaallkk1
  • believefym
  • zxhcloth
  • believefym

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo