正则表达式的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] 非数字与英文字 
  
  ^ 表示每行的开头
  $ 表示每行的结尾

阅读更多
上一篇MyEclipse8.6中离线添加插件的方法
下一篇mAtrix
想对作者说点什么? 我来说一句

网站推广29种常用方法

2011年11月10日 337KB 下载

网站推广的29种常用方法

2009年05月03日 337KB 下载

网站推广29种常用方法.rar

2009年05月05日 339KB 下载

网站推广29种常用方法.rar.rar

2009年02月05日 340KB 下载

SQL删除重复记录的方法

2009年11月04日 46KB 下载

正则表达式30分钟入门教程

2009年04月29日 157KB 下载

没有更多推荐了,返回首页

关闭
关闭