注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

程序员小站

J2EE丨Spring | JVM | Scala

 
 
 

日志

 
 

正则表达式(二)-在字符串中的应用  

2012-04-18 11:09:52|  分类: java技巧 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
前一篇文章我们详细介绍了正则表达式的用法。然而,匹配一个字符串是否符合给定格式只是正则表达式最基本的应用。本节将带领大家学习正则表达式的字符串中的应用。

1.匹配正则表达式的另一种方式: String.matches(String regex);

String s = "test string";
s.matches("^\\btest.*");

2.匹配时忽略大小写
这个问题我们在正则表达式(一)中已经讲过了,这里再总结一下
1)灵活的方式是利用正则式的(?i)开启和(?-i)关闭忽略大小写,可以灵活的配置正则式中哪块要忽略大小写、哪块不能忽略。
2第二种简便的方式是构建Pattern时传入Pattern.CASE_INSENSITIVE,表示全部忽略大小写。

Pattern pattern = Pattern.compile("(?i)jav(?-i)a");
Matcher matcher = pattern.matcher("JAVAajaxjdbc");
System.out.println(matcher.find()); //false

3.字符串替换
String类中有两类替换方法,一类是新的字符串代替旧的字符串   代表: replace(char oldChar, char newChar)
另一类是基于正则表达式的替换,正则式匹配到了就用新的字符串替换匹配到的字符串。
     代表:replaceAll(String regex, String replacement)
还有一个类似replaceAll的方法replaceFirst它的作用是只替换匹配到的第一个字符串

String s = "java is cool, java IS power";
String s1 = s.replace("is", "was"); //java was cool, java IS power
String s2 = s.replaceAll("\\b(?i)is\\b", "was"); //java was cool, java was power
String s3 = s.replaceFirst("\\b(?i)is\\b", "was"); //java was cool, java IS power

4.拆分字符串
String的split(String regex) 方法用给定正则表达式的匹配拆分字符串。
String s = "this is a test string";
String[] s1 = s.split("\\s+");
for (String s2 : s1)
System.out.println(s2);
需要注意的是如果想通过英文句号“.”来分割字符串必须转义写成"\\.",应为“.”在正则式中能匹配任意字符
  评论这张
 
阅读(364)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018