Java中的基本正则知识:

注:标准的正则表达式是\s,\S,\d,\D,\w,\W这样的;但是在java中,要使用\\来表示\。

符号

含义

\\s

匹配一个空白字符

\\S

匹配任意一个非空白字符

\\d

匹配一个[0,9]之间的任意一个整数,等价于[0-9]

\\D

匹配一个[0,9]之外的任意一个字符,等价于[^0-9]

\\w

匹配一个数字或下划线或字母字符,等价于[A-Za-z0-9_]

\\W

匹配一个非数字、非下划线、非字母字符,等价于[^A-Za-z0-9_]

.

匹配一个除了换行符之外的任意字符

\\.

防转义,匹配 .

{n}

前面那个字符在这里一共有n个(包括那个字符在内)

{n,}

前面那个字符在这里一共有>=n个(包括那个字符在内)

{n,m}

前面那个字符在这里一共有>=n且<=m个(包括那个字符在内)

*

前面那个字符在这里一共有>=0个(包括那个字符在内),等价于{0,}

+

前面那个字符在这里一共有>=1个(包括那个字符在内),等价于{1,}

?

前面那个字符在这里只有0个或1个(包括那个字符在内),等价于{0,1}


 

Pattern类与Matcher类:

java正则表达式通过java.util.regex包下的Pattern类与Matcher类实现。

◎Pattern类

Pattern类用于创建一个正则表达式(即:创建一个匹配模式);它的构造方法是私有的,不可以直接创建,Pattern的私有构造为:

Pattern类与Matcher类实现正则验证

但我们可以通过Pattern的公有静态方法来获取Pattern的实例

 Pattern类与Matcher类实现正则验证

 

◎Matcher类

Matcher类的构造方法是默认级别的,不能随意创建,可以通过Pattern.matcher(CharSequence input)方法得到该类的实例。Pattern类只能做一些简单的匹配操作,要想得到更强更便捷的正则匹配操作,那就需要将Pattern与Matcher一起合作

Pattern.complie(String regex)简单工厂方法(如上图所示)用于创建一个Pattern正则表达式

示例:

 Pattern类与Matcher类实现正则验证

 

 

Pattern实例.pattern()用于返回正则表达式的字符串形式

即:返回Pattern.complile(String regex)的参数regex

示例:

Pattern类与Matcher类实现正则验证

注:在java中,使用正则占位符时,使用\\来表示\。

这是因为:在java中\有其他的意义,如\t,\n,\r等,与标准的正则有冲突,所以在java中写时要写\\,但是结果会被转译为\,如:

 Pattern类与Matcher类实现正则验证

 

Pattern实例.split(CharSequence cs)用于分隔字符串,并返回一个String[]

注:CharSequence是一个接口,String、StringBuffer和StringBuilder都实现并"多态了"该CharSequence接口。

示例:

 Pattern类与Matcher类实现正则验证

 

Pattern.matcher(String regex,CharSequence cs)用于验证cs是否完全满足正则表达式(当cs完全满足regex时,返回true;否则返回false)

示例:

 Pattern类与Matcher类实现正则验证

 

Pattern.matcher(CharSequence input)用于返回一个Matcher对象

示例:

 Pattern类与Matcher类实现正则验证

即:

 Pattern类与Matcher类实现正则验证

 

 

Matcher实例.pattern()用于返回正则regex字符串

示例:

Pattern类与Matcher类实现正则验证

 

 

Matcher实例.matches()用于验证cs是否完全满足正则表达式(当cs完全满足regex时,返回true;否则返回false)

                             Pattern类与Matcher类实现正则验证

注:Matcher实例.matches()Pattern.matcher(String regex,CharSequence cs)功能一样

示例: 

Pattern类与Matcher类实现正则验证

 

 

Matcher实例.lookingAt()用于验证cs前面的内容是否满足正则表达式(当cs前面的内容满足regex时,返回true;否则返回false)

 Pattern类与Matcher类实现正则验证

示例:

 Pattern类与Matcher类实现正则验证

 

 

Matcher实例.find()当cs中有任何内容满足正则表达式reg时,返回true,否则返false

Pattern类与Matcher类实现正则验证

示例: 

 Pattern类与Matcher类实现正则验证

 

 

Matcher实例.start()返回匹配到的子字符串(第一个字符)在字符串中的索引位置(从0开始).

Matcher实例.end()返回匹配到的子字符串的最后一个字符在字符串中的索引位置(从1开始).

Matcher实例.group()返回匹配到的子字符串

注:以上三个方法使用时机一般为:在使用matches(),lookingAt(),find()执行匹配操作返回true

示例:

        Pattern类与Matcher类实现正则验证

 

Pattern类与Matcher类实现正则验证参考自http://www.kaiyuanba.cn/html/1/131/138/7609.htm

Pattern类与Matcher类实现正则验证如有不当之处,欢迎指正

Pattern类与Matcher类实现正则验证本文已经被收录进《程序员成长笔记(二)》,作者JustryDeng

相关文章:

  • 2022-12-23
  • 2021-10-20
  • 2021-10-15
  • 2021-11-15
  • 2022-12-23
  • 2021-07-25
猜你喜欢
  • 2021-07-28
  • 2022-12-23
  • 2022-02-13
  • 2021-11-19
  • 2022-02-16
  • 2021-09-29
相关资源
相似解决方案