java正则表达式 Pattern Matcher类的使用

来源:互联网 发布:2017淘宝店页头尺寸 编辑:程序博客网 时间:2024/06/05 06:17

在Java中,正则表达式主要用于处理字符串,字符串的查找以及匹配等操作。

在Java中与正则表达式相关的两个类是Pattern和Matcher类。

Pattern类又叫模式类,Matcher类叫匹配器类,

Pattern类的使用

Pattern类没有共有的构造函数,只有私有的构造函数,但类提供了一个工厂方法来生成Pattern实例。

 static Pattern compile(String regex)

如:Pattern p = Pattern.compile("\\d+");

Regex模式的使用

字符

x  字符x

\\\

\n换行

\r回车

字符类

[abc]a、b或者c中的一个

[^abc]除a、b、c外的一个字符

[a-zA-Z]字母a-z或者字母A-Z中的一个字符

[a-d[m-p]]字母a-d或者m-p 中的一个字符     (表示[a-d]与[m-p]的并集)

[a-z&&[def]]字母d或者e或者f中的一个字符    (表示[a-z]与[def]的交集)


预定义字符

任意字符

\d 数字   相当于[0-9]

\D 非数字 相当于[^0-9]

\w 字母        相当于[a-zA-Z_0-9]

\W 非字母

数量词

X? X出现或者不出现

X*   X出现0次或者多次 >=0

X+ X至少出现一次>=1

X{n} X出现n次

X{n,} X至少出现n次

X{n,m} X出现次数大于n,小于m

Matcher类的使用

Matcher类没有公共的构造函数,只能通过Pattern.matcher(String input)来生成。

Matcher类里面一些重要的方法

匹配函数matches     lookingAt  find

          matches匹配整个主字符串,看是否整个主字符串匹配 regex模式

lookingAt从主字符串的起始位置开始匹配

find从主字符串的任意位置开始匹配

在find()函数基础之上,有start,end,group函数

start()返回此次匹配到的字符串的第一个字符在主字符串中的位置

end()返回此次匹配到的字符串的最后字符在主字符串中的位置

group()返回此次匹配到的字符串

0 0
原创粉丝点击