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

2016-02-19 19:00 3 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是JAVA正则表达式4种常用功能,一起来学习了解下吧!

【 tulaoshi.com - 编程语言 】

正则表达式在字符串处理上有着强大的功能,sun在jdk1.4加入了对它的支持 
  
  下面简单的说下它的4种常用功能:
  
  查询:
  
  String str="abc efg ABC";
  
  String regEx="af";   //表示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:dir1dir2ame.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 等於 [ x0Bf] 空白字元 
  S 等於 [^ x0Bf] 非空白字元 
  w 等於 [a-zA-Z_0-9] 数字或是英文字 
  W 等於 [^a-zA-Z_0-9] 非数字与英文字 
  
  ^ 表示每行的开头
  $ 表示每行的结尾
  

来源:https://www.tulaoshi.com/n/20160219/1619799.html

延伸阅读
标签: Web开发
签于网上太多的介绍都是一篇凶悍的短文,边看边理解可以,帮助记忆不行。又受五笔字型字根表口诀“白手看头三二斤...”的启发,  试作“正则表达式助记口诀”又名“正则打油诗”,版本0.1,绝对原创,仿冒必究,:)  注:本文仅为学习正则时为了便于记忆而作,不能代替系统而全面的学习过程,错漏之处,敬请指正!  正则其实...
标签: Web开发
 package testreg; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * pTitle: 正则表达式的研究/p * pDescription: * 最近在工作中常常用到一些正则表达式的使用问题,到网上去找介绍大多是一鳞半爪。求人不如 * 求已。一狠心,自己看!这两天利用我们项目两期之间...
标签: ASP
"^\\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?\\d+$" //整数 "^\\d+(\\.\\d+)?$" //非负浮点数(正浮点数 + 0) "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$" ...
常用的C#正则表达式!  "^\d+$" //非负整数(正整数 + 0)  "^[0-9]*[1-9][0-9]*$" //正整数  "^((-\d+)|(0+))$" //非正整数(负整数 + 0)  "^-[0-9]*[1-9][0-9]*$" //负整数  "^-?\d+$" //整数  "^\d+(\.\d+)?$" //非负浮点数(正浮点数 + ...
标签: Web开发
匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:ns*r 评注:可以用来删除空白行 匹配HTML标记的正则表达式...

经验教程

301

收藏

51
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部