java正则表达式及api_Java API 之 正则表达式

一、基本概念

在项目中我们经常性做的一件事是“匹配”字符串

比如:

1、我们要验证用户输入的手机号是否合法?

2、验证设置的密码是否符合规则?

3、或者替换指定字符串中的一些内容。

这么一看,似乎正则表达式就是在查找、处理字符串。

二、如何使用

1、首先,我们需要定义一个模板(Pattern),这个模板描述了需要匹配的字符串的规则,这就是正则表达式。

2、模板有了,我们需要将要匹配的内容和模板一起创建一个匹配器(Matcher)。

3、最后执行匹配获得返回的结果。

按照以上的步骤,我们写一个简单的示例:

importjava.util.regex.Matcher;importjava.util.regex.Pattern;/***@authorlay

* @date 2018/4/10.

* @time 17:19*/

public classRegexDemo {public static voidmain(String[] args) {//写一个正则模板

Pattern pattern = Pattern.compile("name");//获取一个匹配器

Matcher matcher = pattern.matcher("name");//执行操作

boolean isMatch =matcher.matches();//打印结果

System.out.println("isMatch=" +isMatch);

}

}

在这个示例中:

1、我们使用Pattern类提供的方法compile()编译出正则表达式"name",返回一个Pattern模板类;

2、通过pattern模板类的matcher()方法获取匹配器,传入待处理的内容"name";

3、匹配器调用方法matches()返回匹配结果。

4、最后打印结果为:isMatch=true

三、学习内容

由以上的示例,我们可以了解到,对于Java的正则表达式我们需要学得的内容有:

1、正则表达式如何写;

2、Pattern类的使用;

3、Matcher类的使用;

四、正则表达式如何写;

在查看API文档的时候,介绍正则表达式语法的是这样的:\d 表示数字,\s表示空白字符

那问题在于,我们使用Pattern类的complie()方法来创建模板,而compile()方法需要传入的是一个字符串,例如:

Pattern pattern = Pattern.compile("name");

这样的话我们要怎么写正则表达式语法呢?如下:

Pattern pattern = Pattern.compile("\\d");

我们看到,这里使用了 "\\d" 而不是语法说的 "\d"。我们可以这样理解:在 Java 中,\\ 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。

例如:

\d -> \\d

\s -> \\s

\w -> \\w

正则表达式的语法可以参考:

五、Pattern类和Matcher类的使用

前面我们说了,pattern类是为了编译模板,matcher用于构建匹配器。其实就是示例化类,然后调用类的方法。比如:

1、匹配是否有某个字符串:boolean isMatched = matcher.matches();

2、替换字符串:String newStr = matcher.replaceAll("替换的内容");

六、总结

正则表达式即是为了匹配处理字符串而出现的,我们要做的即:

1、构造模板;2、构造匹配器;3、使用匹配器提供的方法处理字符串;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值