快速业务通道

正则表达式和Java编程语言 - 编程入门网

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

正则表达式和Java编程语言

时间:2010-12-13

应用程序常常需要有文本处理功能,比如单词查找、电子邮件确认或XML文档 集成。这通常会涉及到模式匹配。Perl、sed或awk等语言通过使用正则表达式来 改善模式匹配,正则表达式是一串字符,它所定义的模式可用来查找匹配的文本。为了使用JavaTM编程语言进行模式匹配,需 要使用带有许多charAt子字串的StringTokenizer类,读取字母或符号以便处理文本。这常常导致复杂或凌乱的代码。

现在不一样了。

2平台标准版(J2SETM)1.4版包含一个名 为java.util.regex的新软件包,使得使用正则表达式成为可能。 目前的功能包括元字符的使用,它赋予正则表达式极大的灵活性

本文概括地介绍了正则表达式的使用,并详细解释如何利用java.util.regex软件包来使用正则表达式,用以下常见情形作为 例子:

简单的单词替换

电子邮件确认

从文件中删除控制字符

查找文件

为了编译这些例子中的代码和在应用程序中使用正则表达式,需要安装 J2SE 1.4版。

构造正则表达式

正则表达式是一种字符模式,它描述的是一组字符串。你可以使用java.util.regex软件包,查找、显示或修改输入序列中出现的 某个模式的一部分或全部。

正则表达式最简单的形式是一个精确的字符串,比如“Java”或 “programming”。正则表达式匹配还允许你检查一个字符串是否符合某个具体的 句法形式,比如是不是一个电子邮件地址。

为了编写正则表达式,普通字符和特殊字符都要使用:

$ ^ . *
+ ? ['' '']
.

正则表达式中出现的任何其他字符都是普通字符,除非它前面有个\。

特殊字符有着特别的用处。例如,.可匹配除了换行符之外的任意字符。与s.n这样的正则表达式匹配的是任何三个字符的、以s开始以n结束的字符串,包括sun和son。

在正则表达式中有许多特殊字符,可以查找一行开头的单词,忽略大小写或 大小写敏感的单词,还有特殊字符可以给出一个范围,比如a-e表 示从a到e的任何字母。

正则表达式和Java编程语言(2)

时间:2010-12-13

使用这个新软件包的正则表达式用法与Perl类似,所以如果你熟悉Perl中正则表达式的使用,就可以在Java语言中使用同样的表达式语法。如果你不熟悉正则 表达式,下面是一些入门的例子:

构造 匹配于
字符
x 字符 x
\\ 反斜线字符
\0n 八进制值的字符0n (0 <= n <= 7)
\0nn 八进制值的字符 0nn (0 <= n <= 7)
\0mnn 八进制值的字符0mnn 0mnn (0 <= m <= 3, 0 <= n <= 7)
\xhh 十六进制值的字符0xhh
\uhhhh 十六进制值的字符0xhhhh
\t 制表符(''\u0009'')
\n 换行符 (''\u000A'')
\r 回车符 (''\u000D'')
\f 换页符 (''\u000C'')
\a 响铃符 (''\u0007'')
\e 转义符 (''\u001B'')
\cx T对应于x的控制字符 x
字符类
[abc] a, b, or c (简单类)
[^abc] 除了a、b或c之外的任意 字符(求反)
[a-zA-Z] a到z或A到Z ,包含(范围)
[a-z-[bc]] a到z,除了b和c : [ad-z](减去)
[a-z-[m-p]] a到z,除了m到 p: [a-lq-z]
[a-z-[^def]] d, e, 或 f
预定义的字符类
. 任意字符(也许能与行终止符匹配,也许不能)
\d 数字: [0-9]
\D 非数字: [^0-9]
\s 空格符: [ \t\n\x0B\f\r]
\S 非空格符: [^\s]
\w 单词字符: [a-zA-Z_0-9]
\W 非单词字符: [^\w]

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号