正则表达式和Java编程语言
来源:互联网 发布:人工智能包含哪些专业 编辑:程序博客网 时间:2024/05/29 21:17
应用程序常常需要有文本处理功能,比如单词查找、电子邮件确认或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的任何字母。
使用这个新软件包的正则表达式用法与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
换行符 ('/u
/r
回车符 ('/u000D')
/f
换页符 ('/u
/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]
- 正则表达式和Java编程语言
- 正则表达式和Java编程语言
- 正则表达式和Java编程语言
- 正则表达式和Java编程语言1zz
- 正则表达式和Java编程语言1zz
- JAVA语言正则表达式
- 编程语言] 正则表达式和python的re模块
- java和正则表达式
- java和正则表达式
- Java编程思想--正则表达式
- Day24第二十四天 java基础 -------网络编程 和正则表达式
- DOM编程和正则表达式
- perl语言编程-正则表达式篇
- 【编程语言】正则表达式的高级使用
- c#基础语言编程-正则表达式基础
- c#基础语言编程-正则表达式应用
- Java正则表达式编程及常用正则表达式总结
- JAVA语言词法(lexical)--正则表达式描述
- >>>安装WindowsXP<<<
- 最佳开源软件
- 视频运行库AVICAP32.DLL说明
- [技术讨论]关于结对编程实践的一段对话
- 我的求职之路
- 正则表达式和Java编程语言
- 媒体的职责只是娱乐吗?
- 基于API的录音机程序
- Java中使用正则表达式实现字符串匹配
- 用api调用摄像头
- javascript小技巧
- 持久化和对象关系映射ORM技术
- VC++中的_T
- Unix基础教程