`
cakin24
  • 浏览: 1335525 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

正则表达式的应用

    博客分类:
  • java
 
阅读更多

1 找出字符串中的电话号码

代码示例

import java.util.regex.*;

public class FindGroup
{
	public static void main(String[] args)
	{
		// 使用字符串模拟从网络上得到的网页源码
		String str = "我想求购一本《Java典型应用》,尽快联系我13500006666"
			+ "交朋友,电话号码是13611125565"
			+ "出售二手电脑,联系方式15899903312";
		// 创建一个Pattern对象,并用它建立一个Matcher对象
		// 该正则表达式只抓取13X和15X段的手机号,
		// 实际要抓取哪些电话号码,只要修改正则表达式即可。
		Matcher m = Pattern.compile("((13\\d)|(15\\d))\\d{8}")
			.matcher(str);
		// 将所有符合正则表达式的子串(电话号码)全部输出
		while(m.find())
		{
			System.out.println(m.group());
		}
	}
}

 运行结果

13500006666
13611125565
15899903312

 

2 返回目标字符串中的各个子串,以及各子串在目标字符串中的位置

代码示例

import java.util.regex.*;

public class StartEnd
{
	public static void main(String[] args)
	{
		// 创建一个Pattern对象,并用它建立一个Matcher对象
		String regStr = "Java is very easy!";
		System.out.println("目标字符串是:" + regStr);
		Matcher m = Pattern.compile("\\w+")
			.matcher(regStr);
		while(m.find())
		{
			System.out.println(m.group() + "子串的起始位置:"
				+ m.start() + ",其结束位置:" + m.end());
		}
	}
}

 运行结果

目标字符串是:Java is very easy!
Java子串的起始位置:0,其结束位置:4
is子串的起始位置:5,其结束位置:7
very子串的起始位置:8,其结束位置:12
easy子串的起始位置:13,其结束位置:17

 

3 检验一个邮箱是否是一个合法的邮箱

代码示例

import java.util.regex.*;

public class MatchesTest
{
	public static void main(String[] args)
	{
		String[] mails =
		{
			"798103175@qq.com" ,
			"cakin24@163.com",
			"chengqiuming@w3.org",
			"c00303563@abc.xx"
		};
		String mailRegEx = "\\w{3,20}@\\w+\\.(com|org|cn|net|gov)";
		Pattern mailPattern = Pattern.compile(mailRegEx);
		Matcher matcher = null;
		for (String mail : mails)
		{
			if (matcher == null)
			{
				matcher = mailPattern.matcher(mail);
			}
			else
			{
				matcher.reset(mail);
			}
			String result = mail + (matcher.matches() ? "是" : "不是")
				+ "一个有效的邮件地址!";
			System.out.println(result);
		}
	}
}

 运行结果

798103175@qq.com是一个有效的邮件地址!
cakin24@163.com是一个有效的邮件地址!
chengqiuming@w3.org是一个有效的邮件地址!
c00303563@abc.xx不是一个有效的邮件地址!

 

4 将一个字符串中以“re”开头的单词替换为其它字符串

代码示例

import java.util.regex.*;

public class ReplaceTest
{
	public static void main(String[] args)
	{
		String[] msgs =
		{
			"Java has regular expressions in JDK1.4",
			"regular expressions now expressing in Java",
			"Java represses oracular expressions"
		};
		Pattern p = Pattern.compile(" re\\w*|^re\\w*");
		Matcher matcher = null;
		for (int i = 0 ; i < msgs.length ; i++)
		{
			if (matcher == null)
			{
				matcher = p.matcher(msgs[i]);
			}
			else
			{
				matcher.reset(msgs[i]);
			}
			System.out.println(matcher.replaceAll(" 笑笑:)"));
		}
	}
}

 运行结果

Java has 笑笑:) expressions in JDK1.4
 笑笑:) expressions now expressing in Java
Java 笑笑:) oracular expressions

 

5 String类正则表达式的应用

代码示例

import java.util.*;

public class StringReg
{
	public static void main(String[] args)
	{
		String[] msgs =
		{
			"Java has regular expressions in JDK1.4",
			"regular expressions now expressing in Java",
			"Java represses oracular expressions"
		};
		for (String msg : msgs)
		{
			System.out.println(msg.replaceFirst("re\\w*" , "哈哈:)"));
			System.out.println(Arrays.toString(msg.split(" ")));
		}
	}
}

 运行结果

Java has 哈哈:) expressions in JDK1.4
[Java, has, regular, expressions, in, JDK1.4]
哈哈:) expressions now expressing in Java
[regular, expressions, now, expressing, in, Java]
Java 哈哈:) oracular expressions
[Java, represses, oracular, expressions]

分享到:
评论

相关推荐

    Java正则表达式应用总结

    Java正则表达式应用总结

    ASP.NET正则表达式应用

    非常齐全的asp.net的正则表达式应用

    正则表达式应用总结

    本文档结合多年使用正则表达式经验,总结正则表达式使用方式以及常见的正则表达式的表达。希望有助于您的学习!

    完整版正则表达式应用一例1.e.rar

    完整版正则表达式应用一例1.e.rar 完整版正则表达式应用一例1.e.rar 完整版正则表达式应用一例1.e.rar 完整版正则表达式应用一例1.e.rar 完整版正则表达式应用一例1.e.rar 完整版正则表达式应用一例1.e.rar

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

    这是一个简单的正则表达式应用jar包,通过调用其内部方法可实现java的一系列验证,提取和清洗的方法,内附帮助文档,使用非常简单,希望可以为广大编程爱好者编程提供方便,欢迎下载!

    完整版正则表达式应用一例.rar

    完整版正则表达式应用一例.rar 完整版正则表达式应用一例.rar 完整版正则表达式应用一例.rar 完整版正则表达式应用一例.rar 完整版正则表达式应用一例.rar 完整版正则表达式应用一例.rar

    完整版正则表达式应用一例.e.rar

    完整版正则表达式应用一例.e.rar 完整版正则表达式应用一例.e.rar 完整版正则表达式应用一例.e.rar 完整版正则表达式应用一例.e.rar 完整版正则表达式应用一例.e.rar 完整版正则表达式应用一例.e.rar

    JAVA正则表达式的应用

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

    关于正则表达式的应用(正则表达式)

    讲述正则表达式的使用,不错的一份资料,常用的正则表达式应用基本上全都有。

    C#正则表达式应用C#正则表达式应用

    C#正则表达式应用C#正则表达式应用C#正则表达式应用C#正则表达式应用

    JAVA 正则表达式 教程

    正则表达式应用于程序设计语言中,首次是出现在 Perl 语言,这也让 Perl 奠定了正则表达式旗手的地位。现在,它已经深入到了所有的程序设计语言中,在程序设计语言中,正则表达式可以说是标准配置了。 Java 中从 ...

    易语言正则表达式应用一例

    易语言正则表达式应用一例源码,正则表达式应用一例

    python之常用正则表达式.pdf

    python之常用正则表达式.pdfpython之常用正则表达式.pdfpython之常用正则表达式.pdfpython之常用正则表达式.pdfpython之常用正则表达式.pdfpython之常用正则表达式.pdf

    正则表达式在数据库查询中的应用

    教你如何将正则表达式使用在SQL查询中,工作中经常需要,因为用正则表达式查询能更准确的查询出匹配的信息,学Oracle必须要懂得知识点

    正则表达式在程序开发中的应用

    正则表达式在程序开发中的应用比较广泛,通过对正则表达式的介绍,可以让你在程序开发中,规范又便捷!

    Oracle数据库正则表达式

    正则表达式应用广泛,在数据库中也有很大的应用空间,该篇文档讲述正则表达式在数据库中的应用。

    易语言源码正则表达式应用一例.rar

    易语言源码正则表达式应用一例.rar 易语言源码正则表达式应用一例.rar 易语言源码正则表达式应用一例.rar 易语言源码正则表达式应用一例.rar 易语言源码正则表达式应用一例.rar 易语言源码正则表达式应用一例....

    完整版正则表达式应用一例1.rar

    完整版正则表达式应用一例1.rar 完整版正则表达式应用一例1.rar 完整版正则表达式应用一例1.rar 完整版正则表达式应用一例1.rar 完整版正则表达式应用一例1.rar 完整版正则表达式应用一例1.rar

    精通正则表达式,有关正则表达式的所有应用

    正则表达式的所有应用都有哦·正则表达式+ASP,正则表达式+JSP,正则表达式+JAVASCRIPT等等

    javaScript正则表达式应用

    javaScript正则表达式应用 javaScript正则表达式应用

Global site tag (gtag.js) - Google Analytics