ITPUB??ì3
ITPUB论坛 » Java入门与认证版 » JAVA正则表达式4种常用功能

新一届的微软MVP评选已经开始,欢迎各位推荐!

标题: JAVA正则表达式4种常用功能
离线 Arrayy1407202
抵制日货


精华贴数 0
个人空间 0
技术积分 2135 (742)
社区积分 2887 (452)
注册日期 2005-3-5
论坛徽章:1
      
      

发表于 2006-10-12 16:37 
JAVA正则表达式4种常用功能

JAVA正则表达式4种常用功能
  
  正则表达式在字符串处理上有着强大的功能,sun在jdk1.4加入了对它的支持
 
  下面简单的说下它的4种常用功能:
  
  查询:
  
以下是代码片段:
String str="abc efg ABC";

String regEx="a|f"; //表示a或f

Pattern p=Pattern.compile(regEx);

Matcher m=p.matcher(str);

boolean rs=m.find();

  
  如果str中有regEx,那么rs为true,否则为flase。如果想在查找时忽略大小写,则可以写成Pattern p=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE);
  
  提取:
以下是代码片段:
String regEx=".+\(.+)$";

String str="c:\dir1\dir2\name.txt";

Pattern p=Pattern.compile(regEx);

Matcher m=p.matcher(str);

boolean rs=m.find();

for(int i=1;i<=m.groupCount();i++){

System.out.println(m.group(i));

}

  
  以上的执行结果为name.txt,提取的字符串储存在m.group(i)中,其中i最大值为m.groupCount();
  
  分割:
  
以下是代码片段:
String regEx="::";

Pattern p=Pattern.compile(regEx);

String[] r=p.split("xd::abc::cde";

执行后,r就是{"xd","abc","cde"},其实分割时还有跟简单的方法:

String str="xd::abc::cde";

String[] r=str.split("::";

  
  替换(删除):
  
以下是代码片段:
String regEx="a+"; //表示一个或多个a

Pattern p=Pattern.compile(regEx);

Matcher m=p.matcher("aaabbced a ccdeaa";

String s=m.replaceAll("A";
  
  结果为"Abbced A ccdeA"
  
  如果写成空串,既可达到删除的功能,比如:
  
String s=m.replaceAll("";
  
  结果为"bbced ccde"
  
  附:
  
 \D 等於 [^0-9] 非数字
 \s 等於 [ \t\n\x0B\f ] 空白字元
 \S 等於 [^ \t\n\x0B\f ] 非空白字元
 \w 等於 [a-zA-Z_0-9] 数字或是英文字
  \W 等於 [^a-zA-Z_0-9] 非数字与英文字
  
  ^ 表示每行的开头
  $ 表示每行的结尾


__________________
日本一日不灭亡,我一日不停止灌水!既不牛A,也不牛C!---------------------------------         从此以后好好回帖!     ---------------------------------http://www.matrix.org.cn/topic.shtml?forumId=26http://www.itpub.net/647014.html
只看该作者    顶部
离线 javalod
天下江湖


精华贴数 0
个人空间 0
技术积分 587 (3266)
社区积分 6 (14895)
注册日期 2008-6-4
论坛徽章:5
行业板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星 
      

发表于 2008-6-12 16:28 
regExp

*** 作者被禁止或删除 内容自动屏蔽 ***
离线 fantasy_jay
初级会员



精华贴数 0
个人空间 0
技术积分 26 (45594)
社区积分 8 (12401)
注册日期 2007-2-27
论坛徽章:0
      
      

发表于 2008-6-13 08:38 
学习,收藏~~


__________________
失戀是與一個不愛你或你不愛的人分開!
只看该作者    顶部
在线/呼叫 justforregister
SAP


精华贴数 1
个人空间 10
技术积分 40945 (18)
社区积分 11390 (137)
注册日期 2005-6-10
论坛徽章:83
现任管理团队成员生肖徽章2007版:兔开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星生肖徽章2007版:猪
开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星   

发表于 2008-6-15 23:44 
nice job


__________________
只看该作者    顶部
离线 flying5
清枫


精华贴数 0
个人空间 0
技术积分 107 (15713)
社区积分 0 (574253)
注册日期 2005-8-22
论坛徽章:1
设计板块每日发贴之星     
      

发表于 2008-6-16 00:32 
thx


__________________
DBA之路

路漫漫其修远兮,吾将上下而求索!

天道酬勤!
只看该作者    顶部
离线 braveone
中级会员


精华贴数 0
个人空间 0
技术积分 448 (4339)
社区积分 195 (2418)
注册日期 2006-3-8
论坛徽章:3
2008北京奥运纪念徽章:自行车2008北京奥运纪念徽章:铁人三项ITPUB新首页上线纪念徽章   
      

发表于 2008-6-17 13:47 
学习强贴


只看该作者    顶部
离线 ciyuanlong



精华贴数 0
个人空间 0
技术积分 2 (228391)
社区积分 0 (1805322)
注册日期 2008-6-22
论坛徽章:0
      
      

发表于 2008-6-22 17:55 
ding

好东西啊,辛苦了


只看该作者    顶部
离线 it01
今年找工作,加油!


精华贴数 2
个人空间 30
技术积分 14225 (79)
社区积分 34457 (25)
注册日期 2002-5-25
论坛徽章:18
现任管理团队成员     
      

发表于 2008-6-22 19:48 
jdk 白皮里面有


__________________
跟yining大师学习,拜矛以大师为师傅
还有1个月正式找工作,加油!
天虎老大的地盘,多学习
要经常去IT职业生涯看看
只看该作者    顶部
在线/呼叫 hong86jay
老人


精华贴数 0
个人空间 0
技术积分 447 (4343)
社区积分 571 (1306)
注册日期 2007-1-14
论坛徽章:10
生肖徽章:虎     
      

发表于 2008-6-23 18:32 
可以,保留~~


__________________
那个搞IT的,出来接客~~
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问