JAVA正则表达式4种常用功能

原创 2007年10月12日 00:46:00
<script type="text/javascript"><!-- google_ad_client = "pub-5385498597464229"; google_ad_width = 336; google_ad_height = 280; google_ad_format = "336x280_as"; google_ad_type = "text_image"; google_ad_channel = ""; google_color_border = "FFFFFF"; google_color_bg = "254A70"; google_color_link = "FFFFFF"; google_color_text = "FFFFFF"; google_color_url = "FFFFFF"; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

 

 

正则表达式在字符串处理上有着强大的功能,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] 数字 
/D 等於 [^0-9] 非数字 
/s 等於 [ /t/n/x0B/f/r] 空白字元 
/S 等於 [^ /t/n/x0B/f/r] 非空白字元 
/w 等於 [a-zA-Z_0-9] 数字或是英文字 
/W 等於 [^a-zA-Z_0-9] 非数字与英文字 

^ 表示每行的开头
$ 表示每行的结尾
 

JAVA正则表达式4种常用的功能

正则表达式在字符串处理上有着强大的功能,sun在jdk1.4加入了对它的支持,本文介绍了它的四种常用的功能:查询、提取、分割和替换。 正则表达式在字符串处理上有着强大的功能,sun在jdk1.4加入...
  • dashileipeng
  • dashileipeng
  • 2013年04月11日 15:40
  • 380

java常用正则表达式

JAVA 中一些常用的正则表达式
  • tiandiwuya
  • tiandiwuya
  • 2016年07月26日 13:55
  • 849

常用正则表达式汇总,以java作为测试

package cn.pzh.demo;import java.util.Scanner; import java.util.regex.Pattern;public class PatternDem...
  • xiaoshiyiqie
  • xiaoshiyiqie
  • 2016年10月18日 20:13
  • 1221

20个常用的Java 功能代码

1. 把Strings转换成int和把int转换成String String a = String.valueOf(2);  //integer to numeric str...
  • d479437509
  • d479437509
  • 2016年07月12日 15:50
  • 729

JavaWeb——JavaScript常用正则表达式

JavaScript常用正则表达式
  • RamProg
  • RamProg
  • 2015年09月11日 23:34
  • 199

Java常用工具类三 -- 正则表达式

1.抓取网页email地址实例 实现思路: 1、使用java.net.URL对象,绑定网络上某一个网页的地址 2、通过java.net.URL对象的openConnectio...
  • he90227
  • he90227
  • 2014年07月13日 11:53
  • 1402

java常用正则表达式模板

下面是我积累的最常用也说明的最清楚的java正则表达式的编写 并给出了相关的表达式每一段这样写的注释,初学java正则的同学,一定能找到感觉和方向。 在后面我附上了自己调试的正则匹配代码,大家可以参考...
  • zfszhangyuan
  • zfszhangyuan
  • 2016年09月06日 16:50
  • 4190

Java与正则表达式

Java与正则表达式标签: Java基础正则 正如正则的名字所显示的是描述了一个规则, 通过这个规则去匹配字符串. 学习正则就是学习正则表达式的语法规则 正则语法普通字符字母, 数字, 汉字, 下...
  • hanqing280441589
  • hanqing280441589
  • 2016年01月03日 07:59
  • 5116

关于java正则表达式非捕获型括号和捕获型括号的研究

今天在做一个正则表达式的解析时,突然看见一个?:的例子,就看不懂了,然后在网上查了下,竟然是非捕获型括号,意思就是匹配pattern,但不包含在match的group方法里面。         (?:...
  • MINEZHANGHAO
  • MINEZHANGHAO
  • 2013年10月26日 16:27
  • 2836

正则表达式中问号的用法

1、需求背景 由于最近工作需要,要从网页链接中找到
  • maylorChao
  • maylorChao
  • 2014年05月28日 11:33
  • 5589
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA正则表达式4种常用功能
举报原因:
原因补充:

(最多只允许输入30个字)