快速业务通道

JAVA中正则表达式的应用(二) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16

JAVA中正则表达式的应用(二)

时间:2011-06-22 IBM / 陈广佳

简介:

java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作 的类库包。

它包括两个类: Pattern和 Matcher

Pattern 一个Pattern是一个正则表达式经编译后的表现模式。
Matcher 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹 配模式对字符串展开匹配检查。

首先一个Pattern实例订制了一个所用语法与PERL的类似的正则表达式经编译 后的模式,然后一个Matcher实例在这个给定的Pattern实例的模式控制下进行字 符串的匹配工作。

以下我们就分别来看看这两个类:

Pattern类:

Pattern的方法如下:

static Pattern compile(String regex)

将给定的正则表达式编译并赋予给Pattern类

static Pattern compile(String regex, int flags)

同上,但增加flag参数的指定,可选的flag参数包括:CASE INSENSITIVE,MULTILINE,DOTALL,UNICODE CASE, CANON EQ

int flags()

返回当前Pattern的匹配flag参数.

Matcher matcher(CharSequence input)

生成一个给定命名的Matcher对象

static boolean matches(String regex, CharSequence input)

编译给定的正则表达式并且对输入的字串以该正则表达式为模 开展匹配,该方法适合于该正则表达式只会使用一次的情况,也就是只进行一次 匹配工作,因为这种情况下并不需要生成一个Matcher实例。

String pattern()

返回该Patter对象所编译的正则表达式。

String[] split(CharSequence input)

将目标字符串按照Pattern里所包含的正则表达式为模进行分割 。

String[] split(CharSequence input, int limit)

作用同上,增加参数limit目的在于要指定分割的段数,如将 limi设为2,那么目标字符串将根据正则表达式分为割为两段。

JAVA中正则表达式的应用(二)(2)

时间:2011-06-22 IBM / 陈广佳

一个正则表达式,也就是一串有特定意义的字符,必须首先要编译成为一个 Pattern类的实例,这个Pattern对象将会使用 matcher()方法来生成一个 Matcher实例,接着便可以使用该 Matcher实例以编译的正则表达式为基础对目 标字符串进行匹配工作,多个Matcher是可以共用一个Pattern对象的。

现在我们先来看一个简单的例子,再通过分析它来了解怎样生成一个Pattern 对象并且编译一个正则表达式,最后根据这个正则表达式将目标字符串进行分割 :

import java.util.regex.*; public class Replacement{    public static void main(String[] args) throws Exception {     // 生成一个Pattern,同时编译一个正则表达式     Pattern p = Pattern.compile("[/]+");     //用Pattern的split()方法把字符串按"/"分割     String[] result = p.split( "Kevin has seen《LEON》seveal times,because it is a good film." +"/ 凯文已经看过《这个杀手不太冷》几次了,

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号