码迷,mamicode.com
首页 > 编程语言 > 详细

Java正则表达式

时间:2021-06-05 17:43:19      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:java正则   文字   文本处理   意义   cell   检查   通过   efi   完成   

一、概念

正则表达式是一种文本处理工具,通常用来检索、替换某个符合规则或者模式的文本。

二、字符串中的使用

1.通过String的matches()方法可以验证一个字符串是否匹配某个正则表达式(返回值,boolean),常用于检查某个字符串是否符合特定规则。

2.split()方法可以将字符串从正则表达式匹配的位置截取为字符串数组。

3.replaceFirst()和replaceAll()分别替换正则表达式第一个匹配的字串或者替换整个字串String中所有匹配正则表达式的内容。

 三、语法

1.元字符

 

 

元字符

Java正则写法

意义

.

.

匹配除”\r\n”之外的任何单个字符

\d

\\d

匹配任意数字,等价于[0-9]

\D

\\D

匹配非数字字符,等价于[^0-9]

\s

\\s

匹配空格字符,等价于[\f\n\r\t\v]

\S

\\S

匹配非空格字符

\w

\\w

匹配单词类字符,等价于[A-Za-z0-9_]

\W

\\W

匹配非单词类字符

^

^

匹配字符串开始位置

$

$

匹配字符串结束位置

2.组合元字符

字符组

意义

[abc]

匹配a、b、c中的任何一个字符

[^abc]

匹配除a、b、c以外的任何字符

[a-zA-Z]

匹配任意一个英文字母

[a-d]

匹配a至d的任意一个字母

[a-d[x-z]]

并(或)运算,匹配a、b、c、d或x、y、z中任意一个

[a-z&&[x-z]]

交(与)运算,匹配x、y、z

[a-f&&[^bc]]

差运算,匹配a、d、e、f

3.量词

量词格式

意义

X?

表达式X出现0次或1次,等价于{0,1}

X*

表达式X出现0次或多次,等价于{0,}

X+

表达式X出现1次或多次,等价于{1,}

X{n}

表达式X正好出现n次

X{n,}

表达式X至少出现n次

X{n,m}

表达式X出现n次至m次

四、常用类及其方法

1.Pattern和Matcher类

  Pattern类的对象用于完成正则表达式的编译处理,使用静态方法: Pattern.compile(正则表达式)完成将正则表达式处理为模板的过程。

  Matcher类的对象用于根据pattern正则表达式模板对输入字符串进行解释和匹配,

  Matcher matcher = p.matcher(“输入字符串”)。

 

2.常用方法操作

  matcher.find() 方法 尝试匹配搜索输入字符串中符合模板的下一个子串,

  matcher.group() 方法 获取匹配到的组,

  通常用法:用 (.*?) 或者 (.+?) 来表示要取的部分内容,表达式 a(.*?)b 用group(0)获取完整表达式,用group(1)查找.*?的内容,

3.贪婪 和非贪婪匹配:

  贪婪匹配:匹配到最后才结束;

  非贪婪匹配:匹配到一个就结束。

  

 

Java正则表达式

标签:java正则   文字   文本处理   意义   cell   检查   通过   efi   完成   

原文地址:https://www.cnblogs.com/NightWhite/p/14851287.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!