java正则表达式(一)

一、正则表达式字符意义
符号意义
\s表示匹配一个空白字符,相当于[ \t\n\x0B\f\r]
\b表示匹配一个单词边界
\d表示匹配一个0~9的数字,相当于[0-9]
\w表示匹配任意一个数字,字母,下划线,相当于[a-zA-Z0-9]
*限定符,表示要匹配的字符(串)出现0到多次
限定符,表示要匹配的字符(串)出现0次或1次
+限定符,表示要匹配的字符(串)出现1到多次
{n}表示匹配前面的字符(串)n次
{n,m}表示匹配前面的字符(串)n到m次
()用于正则表达式分组
Note:以上非限定符的大写则表示除它本身外,匹配任何字符,如\S表示除空白字符外,匹配任何字符,相当于[^\s]
^表示匹配字符串的开头
$表示匹配字符的结尾
[^]表示不匹配中括号内的表达式
[]表示匹配的一个范围
-范围连接符,用在中括号[]内,表示某个范围,如[a-z]表示小写字母a到z
二、java类Pattern和Matcher的一些方法
(一)Pattern:

Pattern类相当于一个匹配的模板,看例子:

public class` TestPattern{
    public static void main(String[] args){
        Pattern p = p.compile("\\d{3}");
    }
}

上面的代码中,Pattern的方法compile()表示编译了一个\\d{3}正则表达式并让p指向它,这个方法的返回值为Pattern类型。这个正则表达式的意思是匹配3个数字,大家可能会想是不是我写错了,正则表达式不是\d表示数字么?怎么这里是\\d呢?这里解释一下,在java中,一个\(backslash),表示的是一个转义符,如\n表示换行,所以如果在java中使用\d,java虚拟机会认为是一个转义字符,而不是一个正则表达式,所以要用\d(backslash)来表示正则表达式中的数字,所有正则表达式在java中的转义都是一样的,要写两个\\

(二)Matcher:

这个类用来表示和模板p进行匹配的字符串和匹配后的处理操作,看例子:

public class` TestPattern{
    public static void main(String[] args){
        Pattern p = p.compile("\\d{3}");
        Matcher m = p.matcher("535");
        System.out.println(m.matches());
    }
}

上面的代码,调用Pattern的matcher()方法,传进一个要匹配的字符串,变量m指向这个matcher()方法返回的Matcher类对象,最后调用matches()方法检测是否匹配,可以看出,打印为true.这里就不分析了,想必大家也能自己分析出来。

这里先简单介绍下java中的正则表达式,至于具体的操作,下次学到了再写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值