`

JAVA RegularExpressions

    博客分类:
  • JAVA
阅读更多
JAVA RegularExpressions
JAVA RegularExpressions 流行于unix
幽默 豁达的女生可遇而不可求
用途:匹配 查找 替换
for instance:IP地址是否正确,从网页爬出email url
下载网页:不仅可以下载当前网页 而且可以下载当前网页中的链接

java.lang.String
java.util.regex.Pattern
java.util.regex.Matcher


替代StringTonkier

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


public class Test {

	public static void main(String[] args) {
		//����ʶ������ʽ�ĸ���
		
		p("abc".matches("..."));
		p("a8729a".replaceAll("\\d", "-"));
		Pattern p = Pattern.compile("[a-z]{3}");
		Matcher m = p.matcher("fgh");
		p(m.matches());
		p("fgha".matches("[a-z]{3}"));
		
		
		//������ʶ. * + ?
		
		p("a".matches("."));
		p("aa".matches("aa"));
		p("aaaa".matches("a*"));
		p("aaaa".matches("a+"));
		p("".matches("a*"));
		p("aaaa".matches("a?"));
		p("".matches("a?"));
		p("a".matches("a?"));
		p("214523145234532".matches("\\d{3,100}"));
		p("192.168.0.aaa".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));
		p("192".matches("[0-2][0-9][0-9]"));
		
		
		//��Χ
		
		p("a".matches("[abc]"));
		p("a".matches("[^abc]"));
		p("A".matches("[a-zA-Z]"));
		p("A".matches("[a-z]|[A-Z]"));
		p("A".matches("[a-z[A-Z]]"));
		p("R".matches("[A-Z&&[RFG]]"));
		
		
		//��ʶ\s \w \d \
		
		p(" \n\r\t".matches("\\s{4}"));
		p(" ".matches("\\S"));
		p("a_8".matches("\\w{3}"));
		p("abc888&^%".matches("[a-z]{1,3}\\d+[&^#%]+"));
		p("\\".matches("\\\\"));
		
		
		//POSIX Style
		//p("a".matches("\\p{Lower}"));
		
		//boundary
		
		p("hello sir".matches("^h.*"));
		p("hello sir".matches(".*ir$"));
		p("hello sir".matches("^h[a-z]{1,3}o\\b.*"));
		p("hellosir".matches("^h[a-z]{1,3}o\\b.*"));
		//whilte lines
		p(" \n".matches("^[\\s&&[^\\n]]*\\n$"));
				
		p("aaa 8888c".matches(".*\\d{4}."));
		p("aaa 8888c".matches(".*\\b\\d{4}."));
		p("aaa8888c".matches(".*\\d{4}."));
		p("aaa8888c".matches(".*\\b\\d{4}."));
		
		
		//email
		//p("asdfasdfsafsf@dsdfsdf.com".matches("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+"));
		
		//matches find lookingAt
		
		Pattern p = Pattern.compile("\\d{3,5}");
		String s = "123-34345-234-00";
		Matcher m = p.matcher(s);
		p(m.matches());
		m.reset();
		p(m.find());
		p(m.start() + "-" + m.end());
		p(m.find());
		p(m.start() + "-" + m.end());
		p(m.find());
		p(m.start() + "-" + m.end());
		p(m.find());
		//p(m.start() + "-" + m.end());
		p(m.lookingAt());
		p(m.lookingAt());
		p(m.lookingAt());
		p(m.lookingAt());
		
		
		//replacement
		
		Pattern p = Pattern.compile("java", Pattern.CASE_INSENSITIVE);
		Matcher m = p.matcher("java Java JAVa JaVa IloveJAVA you hateJava afasdfasdf");
		StringBuffer buf = new StringBuffer();
		int i=0;
		while(m.find()) {
			i++;
			if(i%2 == 0) {
				m.appendReplacement(buf, "java");
			} else {
				m.appendReplacement(buf, "JAVA");
			}
		}
		m.appendTail(buf);
		p(buf);
		
		
		//group
		
		Pattern p = Pattern.compile("(\\d{3,5})([a-z]{2})");
		String s = "123aa-34345bb-234cc-00";
		Matcher m = p.matcher(s);
		while(m.find()) {
			p(m.group());
		}
		
		
		//qulifiers
		
		Pattern p = Pattern.compile(".{3,10}+[0-9]");
		String s = "aaaa5bbbb68";
		Matcher m = p.matcher(s);
		if(m.find())
			p(m.start() + "-" + m.end());
		else 
			p("not match!");
		
		
		//non-capturing groups
		
		Pattern p = Pattern.compile(".{3}(?=a)");
		String s = "444a66b";
		Matcher m = p.matcher(s);
		while(m.find()) {
			p(m.group());
		}
		
		
		//back refenrences
		
		Pattern p = Pattern.compile("(\\d(\\d))\\2");
		String s = "122";
		Matcher m = p.matcher(s);
		p(m.matches());
		
		
		//flags�ļ�д
		//Pattern p = Pattern.compile("java", Pattern.CASE_INSENSITIVE);
		p("Java".matches("(?i)(java)"));
	}
	
	public static void p(Object o) {
		System.out.println(o);
	}

}
分享到:
评论

相关推荐

    Java Regular Expressions

    Java正则表达式是Java编程语言中的一个强大工具,用于处理文本字符串,它基于模式匹配的概念,能够高效地搜索、替换或提取文本。...学习和理解Java Regular Expressions是每个Java程序员必备的技能之一。

    Apress Java Regular Expressions Taming the java Dot util Dot regex Engine

    Java经典书籍,java正则表达式,英文版。

    Packt.Java.9.Regular.Expressions

    You will begin by discovering what regular expressions are and how they work with Java. This easy-to-follow guide is a great place from which to familiarize yourself with the core concepts of regular ...

    Java 9 Regular Expressions epub

    Java 9 Regular Expressions 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    Java 9 Regular Expressions mobi

    Java 9 Regular Expressions 英文mobi 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    Java 9 Regular Expressions 无水印pdf

    Java 9 Regular Expressions 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或...

    High Performance Java IO And Regular Expressions 高性能JAVA IO 与正则表达式

    High Performance Java IO And Regular Expressions 高性能JAVA IO 与正则表达式

    Java正则表达式教程(Regular Expressions of Java Tutorial)

    由于当前版本的 Java Tutorial 是基于 JDK 6.0 的,因此其中的示例程序也用到了 JDK 6.0 中的新增类库,但正则表达式在 JDK 1.4 就已经存在了,为了方便大家使用,改写了部分的源代码,源代码类名中后缀为“V4”的...

    Wrox - Beginning Regular Expressions.rar

    《Wrox - Beginning Regular Expressions》是一本专为初学者设计的正则表达式入门教程。这本书深入浅出地介绍了正则表达式的基本概念、语法和应用,旨在帮助读者掌握这一强大的文本处理工具。 正则表达式(Regular ...

    Regular Expressions Cookbook.pdf

    **"Regular Expressions Cookbook.pdf"** 这个标题明确指出本书的主题是正则表达式(Regular Expressions,简称 Regex)。正则表达式是一种强大的文本处理工具,被广泛应用于搜索、替换以及解析文本等任务中。...

    Mastering Regular Expressions, 3rd Edition

    书名:Mastering Regular Expressions, 3rd Edition 格式:CHM 语言:English 简介: Regular expressions are an extremely powerful tool for manipulating text and data. They are now standard ...

    Regular.Expressions

    正则表达式(Regular Expressions,简称regex)是编程领域中一种强大的文本处理工具,它用于模式匹配、数据提取、验证输入等任务。这个“Regular.Expressions”资料包显然是为开发者设计的,旨在深入理解正则表达式...

    Mastering Regular Expressions, 2nd Edition

    正则表达式(Regular Expression)是编程语言中用于模式匹配和文本搜索的强大工具,广泛应用于数据验证、文本提取、搜索与替换等多个领域。 本书涵盖了正则表达式的各个方面,包括基础语法、高级特性和实践应用。在...

    中文版Mastering Regular Expressions(第三版)

    随着互联网的迅速发展,几乎所有工具软件和程序...本书主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校措施,并详细介绍了正则表达式在Perl、Java、.NET、PHP中的用法。中文版更方便阅读。

    Mastering Regular Expressions, 3rd Edition pdf

    ### 正则表达式的掌握与应用 ——《Mastering Regular Expressions, 3rd Edition》概览 #### 核心知识点解析 **正则表达式(Regular Expressions)概述** 正则表达式是一种用于文本数据处理的强大工具。它能够...

Global site tag (gtag.js) - Google Analytics