JAVA——正则表达式

目录

一、引言

二、使用格式

三、正则表达式语法

四、分割方法


一、引言

1.对于字符串处理来说,正则表达式是一个强大的工具。

2.可以用正则表达式来匹配、替换。分割字符串。

3.正则表达式严格区分大小写

二、使用格式

  1. 字符串名.matches(“正则表达式”)
  2. “字符串内容”.matches(“正则表达式”)

        如果匹配则返回值为true,不匹配则返回false.

三、正则表达式语法

正则表达式

解释

样例

x

指定的字符x

“java”.matches(”java”)

.

任意的单个字符

“java”.matches(“j..a”)

(ab|cd)

ab或者cd

“java”.matches(“ja(va|vb)”)

[abc]

a或者b或者c

“java”.matches(“jav[abc]”)

[^abc]

除开abc的任意字符

“java”.mathces(“ja[^ars]a”)

[a-z]

a到z

“java”.matches(“jav[a-z]”)

[^a-z]

除开a到z的任意字符

“java”.matches(“jav[^b-d]”)

[a-e[m-p]]

a到e或者m到p

“java”.matches(“A-G[I-M]av[a-d]”)

[a-e&&[c-p]]

a到e与c到p的交集

“java”.matches(“[A-p&&[I-M]]av[a-d]”)

\d

个位数0-9

“java2”.matches(“java[\\d]”)

\D

一位非数字

“$java”.matches(“[//D][//D]ava”)

\w

单词字符

“java1”.mathces(“[\\w]ava[\\w]”)

\W

单词字符

“$java”.matches(“[\\W][\\w]ava”)

\s

空白字符

“java 2”.matches(“java[\s]2”)

\S

空白字符

“java”.matches(“[\\S]ava”)

p*

模式p的0次或者多次出现

“paaaa”.mathces(“pa*”)

“p”.matches(“pa*”)

p+

模式p的1次或者多次出现

“pa”.matches(“pa+”)

“paaaaa”.mathces(“pa+”)

p?

模式p的0次或者1次出现

“p”.matches(“pa?”)

“pa”.matches(“pa?”)

p{n}

模式p正好n次出现

“paaaa”.matches(“pa{4}”)

p{n,}

模式p至少n次出现

“paaaaaa”.matches(“pa{2,}”)

“paaaaa”.matches(“pa{1,}”)

p{n,m}

模式p的出现次数在n到m之间不包含

“aaaa”.mathces(“a{1,9}”)

    //x
	System.out.println("java".matches("java"));//输出true

	//.
	System.out.println("java".matches("j..a"));//输出true

	//(ab|cd)
	System.out.println("java".matches("ja(va|vd)"));//输出true

	//[abc]
	System.out.println("java".matches("jav[abc]"));//输出true

	//[^abc]
	System.out.println("java".matches("jav[^bcd]"));//输出 true

	//[a-z]
	System.out.println("java".matches("jav[a-z]"));//输出true

	//[^a-z]
	System.out.println("java".matches("jav[^b-z]"));//输出true

	//[a-e[m-p]]
	System.out.println("java".matches("jav[a-e[m-p]]"));//输出true

	//[a-e&&[c-p]]
	System.out.println("java".matches("jav[a-e&&[m-p]]"));//输出false

	//  \d
	System.out.println("java2".matches("jav[a-e][\\d]"));//输出true

	//  \D
	System.out.println("java2".matches("jav[\\D][\\d]"));//输出true

	//  \w
	System.out.println("java2".matches("[\\w]ava[\\w]"));//输出true

	//  \W
	System.out.println("$java".matches("[\\W][\\w]ava"));//输出true

	//  \s
	System.out.println("java 1".matches("java[\\s][\\d]"));//输出true

	//  \S
	System.out.println("java&1".matches("jav[\\w][\\S][\\d]"));//输出true

	//  p*
	System.out.println("jaaaaa".matches("ja*"));//输出true
	System.out.println("j".matches("ja*"));//输出true

	//  p+
	System.out.println("jaaaaa".matches("ja+"));//输出true
	System.out.println("j".matches("ja+"));//输出false

	//p?
	System.out.println("ja".matches("ja?"));//输出true
	System.out.println("j".matches("ja?"));//输出true
	System.out.println("jaaaa".matches("ja?"));//输出false

	//p{n}
	System.out.println("jaaaa".matches("ja{4}"));//输出true
	System.out.println("jaaaa".matches("ja{5}"));//输出false

	//p{n,}
	System.out.println("jaaaa".matches("ja{1,}"));//输出true
	System.out.println("jaaaa".matches("ja{6,}"));//输出flase

	//p{n,m}
	System.out.println("jaaaa".matches("ja{1,9}"));//输出true
	System.out.println("jaaaaaa".matches("ja{9,12}"));//输出false

量词符:*、+、?、{n}、{n,}

在正则表达式中,空格和其他的字符并没有什么区别。

Warning:不要在重复量词符中使用空白

例如:A{3,6}写成A{3,[]6}是错误的。

可以使用括号来分组 。

例如:”ababab”.matches(”(ab){3}”)

四、分割方法

split(regex)———“字符串内容”.split(“匹配的分割符”)

模式最多匹配limit-1次

split(regex,limit)————“字符串内容”.split(“匹配的分割符”,匹配的次数)

你可能感兴趣的:(java)