巷尾的酒吧

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  64 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks

首先我们要知道正则表达式常见的元数据:

.匹配除换行外所有的字符

*匹配某个元素可以重复零次或多次

\b匹配单词的开始和介绍,例如\bhi\b,标示只是hi的单词

\d匹配所有整形数据

+表示重复一次或多次

?重复零次或一次

\w匹配字母或数字或下划线或汉字

\s匹配任意空白字符

^表示以该字符之后的字符开始

$表示以该字符之前的结束

\W匹配任意不是字母,数字,下划线,汉字的字符

\S匹配任意不是空白符的字符

\D匹配任意非数字的字符

\B匹配不是单词开头或结束的位置

[^x]匹配除了x以外的任意字符

[^aeiou]匹配除了aeiou这几个字母以外的任意字符

 

 

分组

()

(\d)?数字重复零次或一次

重复次数限定

{5}只能重复5

{1,5}重复15

 

我们结合Java的字符串的String中的replaceAll来举例。

:

String a= "class:test;width:50.6909;widths:50.7;height:60;biness:5;dark:0.8;";

我们想要将width:50;替换为width:60;

String        regx = "\\s*width\\s*:\\s*(\\d+s*\\.\\s*\\d+)?\\s*;\\s*";

a = a.replaceAll(regx,"width:60;");

System.out.println(a);

对上面正则表达式的解释

找到开始width并且运行width开始有空字符,中间是:和浮点数,并且浮点数只能有一次或零次最后以;结尾,并且;分号后面可以有空字符

         这样当replaceAll时会找到满足正则表达式的内容然后将其替换为想要的内容。

posted on 2012-10-09 13:28 abing 阅读(211) 评论(0)  编辑  收藏 所属分类: regex

只有注册用户登录后才能发表评论。


网站导航: