正则表达式解析

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

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

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

\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;50.6909;widths:50.7;height:60;biness:5;dark:0.8;";

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

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

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

System.out.println(a+"http://www.dareng.com");

对上面正则表达式的解释

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

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

原文地址:https://www.cnblogs.com/weber/p/2412445.html