`
445822357
  • 浏览: 738742 次
文章分类
社区版块
存档分类
最新评论

(1)Java正则表达式学习

 
阅读更多

前言

大家都知道在linux shell、perl、python等脚本语言中正本表达式是非常强大的,几乎没有什么事它不能表达的。对于学java的程序员来说,sun退出的java.util.regex这个包也是很强大,下面我来一步步地向大家介绍Java中正则表达式的使用;


基本类

Java正则表达式使用到的类主要是3个(不是很多吧!),这两个的功能如下:

(1)Pattern类:是用来表达和陈述所要搜索模式的对象
(2)Matcher类:是真正影响搜索的对象
(3)PatternSyntaxException类:当遇到不合法的搜索模式时,会抛出例外


代码实例

在接下来的几节,我都会通过一个个的代码实例来一点点介绍Java正则表达式的使用,由复杂到简单,让大家逐步掌握Java正则表达式。
Test1.java
public class Test1 {

	public static void main(String[] args) {
	
		String str = "(222)-123";
		String regEx = "\\(222\\)";
		
		Pattern pat = Pattern.compile(regEx);  
		Matcher mat = pat.matcher(str);  
		
		if(mat.find())
			System.out.println(mat.group());
		else
			System.out.println("Not find");
	}

}
这个程序是在(222)-123这个字符串中查找匹配"(222)",如果存在会输出匹配的字符串,否则输出"Not find";
String regEx = "\\(222\\)";这段代码之所以使用两个反斜线符号“\\”,是因为在java中,与regex有关的包,并不都能理解和识别反斜线字符\,
为避免这一点,即为了让反斜线字符\在模式对象中被完全地传递,应该用双反斜线字符”\\“。这里,如果要表示一个“字面上的(”圆符号,就要使用“\\”。大家也可以试试String regEx = "(222)"这个匹配模式,输出结果是“222”,就也是说这是圆符号不是作为一个字面上的字符,而是表示222作为一个整体来看待的意思。如果说要匹配“(222”,如果这时使用String regEx = "(222"是会报错的。必须使用String regEx = "\\(222)"。

同样的上面String regEx = "\\(222\\)";还可以表示为:
String regEx = "\\(2{3}\\)";
这里{3}表示重复符,表示{3}的前一个字符重复出现3次,则2{3}就表示"222"。有于我们匹配的是(整数),那么还可以使用下面的方式:
String regEx = "\\(\\d\\d\\d\\)";
这里"\d"表示从0-9其中一个数字
如果说要匹配"(222)-123"整个字符串,可以使用下面这个表达式:
String regEx = "\\(\\d{3}\\)+-+(\\d{3})";
这里和大家介绍一个“+”符号,这个符号表示连接的意思,就像String字符串中的“+”一样,连接两个字符串。其实上面的表达式等同于:
String regEx = "\\(\\d{3}\\)-(\\d{3})";

总结

(1)k{n},表示n个k
(2)\d,表示0-9中的一个数字
(3)\\(\\),表示圆括号“()”
(4)+,表示连接两个表达式








分享到:
评论

相关推荐

    java正则表达式学习

    java正则表达式,初步认识正则表达式的应用。文档教程

    java正则表达式学习笔记

    Java正则表达式学习笔记,比较基础,适合初学者

    Java 正则表达式学习

    快速学习java 正则表达式并且掌握,实现轻松的学习,不需要发费很多的时间

    Java正则表达式快速学习

    一篇学习Java正则表达式的文章。

    JAVA 正则表达式 教程

    在学习完该教程后,应该对正则表达式有了初步的了解,并能熟练地运用 java.util.regex 包中的关于正则表达式的类库,为今后学习更高级的正则表达式技术奠定良好的基础。 教程中所有的源代码都在 src 目录下,可以...

    JAVA正则表达式实例教程.pdf

    JAVA正则表达式实例教程.pdf 1、正则表达式的知识要点 1、正则表达式是什么? 正则表达式是一种可以用于模式匹配和替换的强有力的工具。 2、正则表达式的优点? 更少的代码,更高的效率。 3、正则表达式如何使用? ...

    java_zhengze.rar_正则表达式_正则表达式 java

    java的正则表达式的详细说明,里面有详细的说明和例子,是要学习java正则表达式的好资料。

    Java正则表达式教程

    还有一个大概在上传中错误了,导致没有了,再重新上传一次。 本文全文译自 Java Tutorial 的 ...适合 Java正则表达式的初学者学习。原文链接:http://java.sun.com/docs/books/tutorial/essential/regex/index.html

    正则表达式学习视频

    正则表达式学习视频,包括正则表达式的简单语法,高级语法,和在JS。java语言中的应用

    java正则表达式,十分有用的正则表达式

    因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。 大家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式...

    正则表达式(java).rar

    java正则表达式入门介绍,java正则表达式学习帮助文档。。。

    正则表达式经典实例

    对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误以及完成一些常见的任务,《正则表达式经典实例》给出了涉及基于C#、Java、JavaScript、Perl、PHP、Python、Ruby和VB.NET等编程语言的解决方案。...

    正则表达式大全.docx

    该文件总结了一部分正则表达式,在学习判断用户名和密码的过程中会有所帮助,仅供参考,如果有总结不对的地方,请联系作者修改

    《学习正则表达式》高清扫描版 PDF

    正则表达式是程序员必备的强大工具,得到了各种Unix实用程序,以及Perl、Java、JavaScript、C#等编程语言的支持。读完本书,你会对正则表达式的常用语法了然于胸。掌握正则表达式是提升编程效率、节约时间的一大法.....

    Java 正则表达式 验证 工具 0.1

    用来学习正则表达式的小工具(JAVA版的) 可以及时的测试自己写的正则表达式 Welcome to id0096.cn

    正则表达式全解及正则表达式学习心得

    包含所有正则表达式的内容,还有个人的总结与心得!!!

    基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip

    基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码....

    Java正则表达式规则(技术文档)

    java正则表达式规则,包含java正则表达式基本知识、JavaScript RegExp对象参考手册、支持正则表达式的 String 对象的方法、定义正则表达式等内容。文档中有表达式的学习视频下载,配合文档会有不错的效果!

    正则表达式学习大全(有了这个,几乎不用看别的资料了,详情见资源描述)

    6、java正则表达式入门文档 7、Java正则表达式使用详解 8、常用正则表达式集锦 9、正则表达式高级学习技巧 10、正则表达式使用 11、正则表达式之道 12、正则表达式总结 13、30分钟入门教程 14、日期校验.doc

Global site tag (gtag.js) - Google Analytics