正则表达式 Pattern、Matcher
来源:互联网 发布:毁人不倦知乎 编辑:程序博客网 时间:2024/06/08 08:24
String上的正则表示式,实际上是利用了Pattern与Matcher的功能,当您呼叫String的matches()方法时,实际上是呼叫Pattern的静态(static)方法matches(),这个方法会传回boolean值,表示字串是否符合正则表示式。
如果您想要重覆使用您的正则表示式,则您可以使用Pattern的静态方法compile()进行编译,它会传回一个Pattern的实例,代表您的正则表示式,之后您就可以重覆使用这个实例的matcher()方法来进行字串比对,这个方法会传回一个Matcher的实例, Matcher上有一些寻找符合正则式条件的方法可供操作。
以下直接来看个实例:
- UsePatternMatcher.java
import java.util.regex.*;
public class UsePatternMatcher {
public static void main(String[] args) {
String phones1 =
"Justin's phone number: 0939-100391/n" +
"momor's phone number: 0939-666888/n";
Pattern pattern = Pattern.compile(".*0939-//d{6}");
Matcher matcher = pattern.matcher(phones1);
while(matcher.find()) {
System.out.println(matcher.group());
}
String phones2 =
"caterpillar's phone number: 0952-600391/n" +
"bush's phone number: 0939-550391";
matcher = pattern.matcher(phones2);
while(matcher.find()) {
System.out.println(matcher.group());
}
}
}
这个程式会寻找手机号码为0939开头的号码,假设您的号码来源不只一个(如phones1、phones2),我们可以编译好正则表示式并传回一个 Pattern物件,之后就可以重覆使用它,程式的执行结果如下:
momor's phone number: 0939-666888
bush's phone number: 0939-550391
- 正则表达式 Pattern、Matcher
- 正则表达式Pattern\Matcher
- 正则表达式:Pattern,Matcher
- 正则表达式 Matcher Pattern
- 正则表达式 Pattern 、 Matcher类
- Java - 正则表达式 - Pattern - Matcher
- Java 正则表达式 Pattern Matcher
- 正则表达式 Pattern和Matcher
- Java - 正则表达式 - Pattern - Matcher
- 正则表达式1--pattern matcher
- 正则表达式Pattern和Matcher
- 正则表达式 Pattern和Matcher
- java的正则表达式(Pattern and Matcher)
- JAVA正则表达式--Pattern和Matcher
- JAVA正则表达式--Pattern和Matcher
- JAVA正则表达式--Pattern和Matcher
- java的正则表达式(Pattern and Matcher)
- JAVA正则表达式--Pattern和Matcher
- java正则表达式入门文档
- ABAP OO的八大理由(十六)
- about Media Encoder
- 竖向三级弹出菜单
- lua学习笔记(持续更新中)
- 正则表达式 Pattern、Matcher
- Ubuntu 8.10版本 绰号已经确定为“Intrepid Ibex”
- 财富
- 网络上关于VC调试的一些文章
- JAVA正则表达式4种常用功能
- Liferay Portal中开发主题风格theme
- A movie "2012 DoomsDay"
- 浅析class与struct区别
- 使用CreateFile, ReadFile, WriteFile在Windows NT/2000/XP下读写绝对扇区的方法