`
mili_qm
  • 浏览: 6235 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

java正则表达式

    博客分类:
  • java
阅读更多
Java中的正则表达式

1.Java中对于正则表达式的引用主要是包java.util.regex下的Pattern类和Matcher类,
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:Pattern和Matcher.
Pattern类是正则表达式的编译形式,即把一个正则表达式作为参数赋给Pattern对象,对该正则表达式进行处理;
Matcher类通过解释Pattern对字符串进行匹配;
它们的关键用法如下:
Pattern的compile静态方法将正则表达式编译成一个Pattern对象;
Pattern的matcher实例方法获取一个匹配器(Matcher对象),参数为待匹配字符串;
Pattern的split实例方法将字符串按照正则表达式分解成多个字符子串;
Matcher的matches方法精确匹配,将整个字符串与Pattern相匹配;
Matcher的find方法扫描字符串,以匹配与Pattern匹配的下个子串;
Matcher的replaceAll方法将字符串中与pattern匹配的子串用新的子串替换掉;

2.其实String类中也有对正则表达式使用的方法;
matches(String pattern)方法判断字符串是否匹配正则表达式;
split(String pattern)方法将字符串按照正则表达式分解成多个字符子串;
replaceAll和replaceFirst方法可以用正则表达式指出待替换的子串;

Java中对正则表达式的处理比较简单,关键点在于如何构造一个正则表达式模式;
关于正则表达式的构造可学习:http://www.jb51.net/tools/zhengze.html

3.以下是java中对正则表达式的运用:
package test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class regextest {
	Pattern pattern;
	Matcher matcher;
	String rult="^([0-9]{3}-?[0-9]{8})|([0-9]{4}-?[0-9]{7})$";

	//使用String类中利用正则表达式匹配的方法;
	public boolean stringregex(String str)
	{
		if(str!=null)
		{
			return str.matches(rult);
		}
		return false;
	}
	
	//使用Pattern和Matcher匹配的方法;
	public boolean patternregex(String str)
	{
		pattern=Pattern.compile(rult);
		matcher=pattern.matcher(str);
		return matcher.matches();
	}
	
	//测试正则表达式的匹配
	public void testmatch()
	{
		System.out.println("测试用正则表达式的匹配:");
		String phoneNO="0154-85717921";
		System.out.println(phoneNO+"是一个格式合法的电话号码?"+stringregex(phoneNO));
		System.out.println(phoneNO+"是一个格式合法的电话号码?"+patternregex(phoneNO));
		phoneNO="0154-5717921";
		System.out.println(phoneNO+"是一个格式合法的电话号码?"+stringregex(phoneNO));
		System.out.println(phoneNO+"是一个格式合法的电话号码?"+patternregex(phoneNO));
		phoneNO="001-85717921";
		System.out.println(phoneNO+"是一个格式合法的电话号码?"+stringregex(phoneNO));
		System.out.println(phoneNO+"是一个格式合法的电话号码?"+patternregex(phoneNO));
	}
	
	//使用正则表达式分割字符串
	public String[] split(String str,String regex,int count)
	{
		pattern=Pattern.compile(regex);
		return pattern.split(str);
	}
	
	//测试用正则表达式分割字符串;
	public void testsplit()
	{
		System.out.println("测试用正则表达式分割字符串:");
		String str="today is a sunny day,but...";
		//以空格和逗号作为分割符分割;
		String regex="[, ]";
		String[] array=split(str,regex, 10);
		for(int i=0;i<array.length;i++)
		{
			System.out.println(array[i]);
		}
		System.out.println(array.length);
	}
	
	//利用正则表达式替换字符串
	public void replace(String str,String regex,String newstr)
	{
		pattern=Pattern.compile(regex);
		matcher=pattern.matcher(str);
		String s=matcher.replaceAll(newstr);
		System.out.println("原字符串:"+str);
		System.out.println("替换后的字符串:"+s);
	}
	
	//测试用正则表达式替换字符串;
	public void testreplace()
	{
		System.out.println("测试用正则表达式替换字符串:");
		String str="3892a64b9";
		String regex="[0-9]";
		replace(str,regex,"*");
	}

	public static void main(String[] argv)
	{
		regextest regex=new regextest();
		regex.testmatch();
		regex.testsplit();
		regex.testreplace();
	}
}

分享到:
评论

相关推荐

    java正则表达式.zip

    Java正则表达式是Java编程语言中用于处理字符串的强大工具,它基于模式匹配的概念,能够高效地进行文本搜索、替换和解析。在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心...

    java正则表达式匹配工具

    Java正则表达式匹配工具是IT领域中一种强大的文本处理工具,它利用正则表达式(Regular Expression)的规则来查找、替换或者提取文本中的特定模式。正则表达式是一种特殊的字符序列,能够帮助程序员或者用户高效地...

    java正则表达式验证IP地址

    Java正则表达式验证IP地址 Java正则表达式验证IP地址是指使用Java语言中的正则表达式来验证IP地址是否符合标准。IP地址是指在网络通信中用来标识设备的地址,它是一种逻辑地址,通过它可以找到网络中的设备。在...

    常用java正则表达式

    本文写作时,一个包含了用正则表达式进行文本处理的Java规范需求(Specification Request)已经得到认可,你可以期待在JDK的下一版本中看到它。 然而,如果现在就需要使用正则表达式,又该怎么办呢?你可以从Apache...

    java 正则表达式应用jar包 regex-smart.jar

    Java正则表达式是编程语言Java中的一个强大工具,它用于模式匹配、数据验证和文本检索替换。在Java中,正则表达式是通过java.util.regex包提供的接口和类来实现的。`regex-smart.jar`这个库显然是为了简化开发者在...

    JAVA正则表达式大全

    以下是对这些文档标题所涉及的Java正则表达式知识点的详细解释: 1. **正则表达式之道** 这个主题可能涵盖了正则表达式的基础概念,包括元字符、字符类、量词和分组。元字符如`.`代表任意字符,`^`表示行首,`$`...

    Java 正则表达式库

    Java正则表达式库是Java开发中不可或缺的一部分,它为开发者提供了一种强大的文本匹配工具。在Java中,正则表达式(Regular Expression)是一种模式匹配语言,用于处理字符串操作,如查找、替换或提取特定模式的数据...

    Java正则表达式测试工具

    Java正则表达式测试工具是面向开发者和爱好者的一款实用程序,它可以帮助用户验证和调试他们的正则表达式。在Java编程环境中,正则表达式是一个强大的字符串处理工具,广泛用于数据验证、文本搜索和替换等任务。这款...

    java正则表达式介绍

    Java正则表达式的优势在于可以显著提高编程效率,特别是处理复杂文本模式匹配时,如验证电子邮件地址。然而,这也需要开发者学习并理解正则表达式的用法。 在Java中,正则表达式的基础知识包括: 1. **句点符号 (....

    java正则表达式截取demo下载即可运行

    Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许我们通过模式匹配来查找、替换或分割文本。这个“java正则表达式截取demo”提供了一个可以直接运行的示例,帮助开发者理解如何在Java中使用正则...

    Java正则表达式入门介绍.ppt

    Java正则表达式是编程语言Java中用于处理文本的强大工具,它源于早期的神经网络理论和数学家Stephen Kleene的工作,后来在Unix系统中得到广泛应用。在Java中,正则表达式提供了简洁的方法来匹配、查找、替换和提取...

    java正则表达式教程html版带目录

    Java正则表达式是Java编程语言中的一个强大工具,它用于模式匹配和字符串处理,尤其在数据验证、文本检索和替换等方面发挥着重要作用。本教程是专为初学者设计的HTML版,旨在帮助读者快速掌握Java正则表达式的概念和...

    java正则表达式使用例子

    Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许我们通过模式匹配来查找、替换或分割文本。在Android开发中,正则表达式尤其重要,因为它们可以帮助我们验证用户输入、处理文本数据或者进行复杂的...

    Java正则表达式应用总结

    Java正则表达式是编程语言Java中用于处理字符串和文本的强大工具。它允许开发者通过模式匹配来执行复杂的文本分析和操作。在Java中,正则表达式的操作主要涉及两个核心类:`java.util.regex.Matcher`和`java.util....

    Java正则表达式详细讲解

    Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许程序员通过模式匹配来查找、替换或分割文本。在Java中,正则表达式是通过`java.util.regex`包提供的API来实现的。本讲解将深入探讨Java正则表达式的...

    强大的JAVA正则表达式处理包jakarta-oro

    Java正则表达式是编程语言中的一个重要组成部分,用于文本处理和模式匹配。Jakarta ORO(Oracle Regular Expressions for Java)是Apache软件基金会开发的一个强大的Java正则表达式库,它为开发者提供了更为灵活和...

    Java 正则表达式 图片版

    Java正则表达式 Java 正则表达式 图片版 携带方便,查阅方便!~

    JAVA正则表达式的应用

    JAVA正则表达式应用:任意输入一串字符串 如何输入exit退出程序;从输入的字符串中判断是否包含手机号码 正则表达式可以使用&quot; +86| 86 1 d{10}&quot; 如果包含请将其在控制台打印出来 否则输出不包含字符串 ...

    java正则表达式的使用示例

    Java正则表达式是Java编程语言中的一个强大工具,它用于模式匹配和字符串处理。正则表达式(Regular Expression)是一串特殊的字符序列,可以用来匹配或查找其他字符串中的模式。在Java中,正则表达式的操作主要通过...

    Java正则表达式快速学习

    Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许程序员通过模式匹配来查找、替换或分割文本。正则表达式在各种场景下都有广泛应用,如数据验证、文本提取、搜索替换等。本篇文章将深入探讨Java中的...

Global site tag (gtag.js) - Google Analytics