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

千鸟

本blog所有日志均系原创 转载请注明出处

 
 
 

日志

 
 

java 正则表达式 笔记1  

2007-08-04 20:02:48|  分类: J2SE |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1.提取字符  目标的格式如(212) 555-1212
String s = "(212) 555-1212564987987";   //提取的标准格式是: (\d{3})\s*\d{3}-\d{4}
        Pattern pattern = Pattern.compile("\\(\\d{3}\\)\\s*\\d{3}-\\d{4}");
        Matcher matcher = pattern.matcher(s);
        if (matcher.find()) {     //把if换成while可以搜索所有的匹配
            System.out.println(matcher.group());
            System.out.println(" starting at index " + matcher.start() +
                    " and ending at index " + matcher .end());
        }

out<< 
(212) 555-1212

2.分割
Pattern pattern = Pattern.compile("::");
        String s="xd::abc::cde";
String[] array=pattern.split(s);
        for(String temp:array){
            out.println(temp);
        }

out<<
xd
abc
cde


3.替换(删除)
Pattern pattern = Pattern.compile("a+");
       String s="xd::abc::cde";
       Matcher matcher=pattern.matcher(s);
      s=matcher.replaceAll("我");
System.out.println(s);

out<<
xd::我bc::cde


附:

 

\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] 非数字与英文字

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

(X|)        X,与空的或运算
X?          X,一次或一次也没有
X*           X,零次或多次
X+           X,一次或多次
X{n}           X,恰好 n 次
X{n,}           X,至少 n 次
X{n,m}           X,至少 n 次,但是不超过 m 次

Pattern.CASE_INSENSITIVE 取消大小写敏感

 

  评论这张
 
阅读(404)| 评论(0)
推荐 转载

历史上的今天

评论

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

页脚

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