java入门 -- 正则表达式

import java.util.Arrays;

/*

* 正則表達式

*  預定義字符:

*  . 任何字符(与行结束符可能匹配也可能不匹配)

*      \d 数字 [0-9]

*      \D 非数字[^0-9]

*      \s 空白字符 [\t\n\x0B\f\r]

*      \S 非空白字符 [^\s]

*      \w 组成单词的字符[a-zA-Z_0-9]

*      \W 非单词字符 [^\w]

*      注意:元字符只能匹配一个字符

* 匹配多位:

* ? 匹配0次或者一次;

*  x* 匹配0次或多次

*  + 出现1次或多次

*  {n} 出现n次

*  {n,} 出现至少n次

*  {n,m} 出现n到m次

* 范围

* [abc] a,b或c

* [^abc] 任何字符,出了abc以外

* [a-zZ-Z] a到z或者A到Z, 包含开头和结尾

* [a-d[m-p]] a到d 或 m到p [a-dm-p】并集

* [a-z&&[def] d,e或f 交集

*    注意:范围也是只匹配一个字符,如果要匹配数量,需要使用数量多位匹配

*

*

* 正则表达式的作用:

*

* 1. 匹配

* 如果正则表达式的内容需要被复用,那么就需要对正则表达式进行分组,目的是复用匹配内容。组号不能指定,是从1开始的。

* (rgex)用括号进行分组

* \1 表示第一组的内容

* \2 表示第二组的内容

*

*

* 2. 切割

*

* 2. 替换

*

* 4. 查找

*

*/

public class Demo5 {

public static void main(String[] args) {

System.out.println("%".matches("."));

System.out.println("9".matches("\\d"));

String str = "大家家家明天天天天回很开开心心心的回家家乐";

String[] arr = str.split("(.)\\1+");

System.out.println(Arrays.toString(arr));

}

}

你可能感兴趣的:(java入门 -- 正则表达式)