`
cakin24
  • 浏览: 1396328 次
  • 性别: 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 正则表达式应用jar包 regex-smart.jar

    总之,`regex-smart.jar`是一个旨在简化Java正则表达式应用的库,它提供了预定义的验证和处理方法,使得开发者能更专注于业务逻辑,而不是复杂的正则表达式编写。通过使用这个库,你可以更加高效地完成字符串的验证...

    Java正则表达式应用总结

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

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

    本压缩包文件“正则表达式应用一例”提供了一个易语言实现的正则表达式应用示例,帮助用户了解和掌握在易语言中如何使用正则表达式。 正则表达式(Regular Expression)是一种强大的文本处理工具,广泛应用于数据...

    vb正则表达式实例(正则表达式测试程序)

    这个“vb正则表达式实例”很可能是为了帮助开发者测试和理解正则表达式的工作原理而设计的一个应用程序。下面将详细探讨正则表达式的基本概念、在VB.NET中的应用以及如何使用它们进行文本匹配。 1. 正则表达式基础 ...

    正则表达式转换工具

    4. **正则表达式在编程中的应用** - 数据验证:在表单提交时,可以使用正则表达式验证输入格式,如邮箱、电话号码等。 - 文件搜索:在代码编辑器中,使用正则表达式快速查找和替换特定模式的文本。 - 数据清洗:...

    qt使用正则表达式限制lineEdit的输入,对正则表达式进行了封装,可以直接引入,工程编译正常

    接下来,我们探讨如何在lineEdit中应用正则表达式。Qt的lineEdit组件是用于接收用户单行文本输入的控件。通常,我们可以通过重载其`textChanged()`信号或者自定义一个槽函数来监控lineEdit的内容变化,并在其中加入...

    Oracle数据库正则表达式

    Oracle 数据库正则表达式应用详解 在 Oracle 数据库中,正则表达式是一种强大的模式匹配工具,可以帮助用户快速搜索、替换和验证数据。从 Oracle 10g 开始,Oracle 内建了符合 IEEE POSIX (Portable Operating ...

    PB实现的正则表达式

    在实际应用中,使用正则表达式可能涉及到以下步骤: 1. 创建正则表达式:定义你要匹配的模式,例如`^[\d]{3}-[\d]{4}$`用于匹配美国电话号码格式。 2. 编译模式:将正则表达式编译成一个可以执行的对象,以提高后续...

    源码(精通正则表达式&实战正则表达式)

    其次,"实战正则表达式两部视频"可能涉及将正则表达式应用于实际项目中的场景,例如: 1. **数据验证**:在表单验证中,使用正则表达式检查邮箱、电话号码、日期格式等。 2. **文本处理**:从大量文本中提取特定...

    正则表达式应用案例共18页.pdf.zip

    在这个名为"正则表达式应用案例共18页.pdf.zip"的压缩包中,我们期待找到一系列关于正则表达式实际运用的案例,这些案例可能涵盖了各种常见和复杂的正则表达式应用场景。 首先,正则表达式的基本构成包括字符集、...

    正则表达式(Deelx版)|正则表达式(Deelx版)支持库

    Deelx版是专门为提高正则表达式性能和功能而设计的一个支持库,适用于各种编程语言和应用场景。 1. **正则表达式基本概念** - **模式匹配**:正则表达式的核心在于模式,它是由特殊字符和普通字符组成的字符串,...

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

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

    常用正则表达式HTML,JAVA合集

    在这个“常用正则表达式HTML,JAVA合集”中,我们主要关注的是HTML和Java环境下的正则表达式应用。 1. **HTML中的正则表达式**: 在HTML中,正则表达式通常用于表单验证,例如输入字段(如邮箱、电话号码、手机号码...

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

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

    pb 使用正则表达式源码pbregexp

    标题中的“pb 使用正则表达式源码pbregexp”指的是在PowerBuilder(简称pb)环境中,利用名为“pbregexp”的正则表达式组件来实现源代码级别的正则表达式操作。PowerBuilder是一款流行的可视化的、面向对象的软件...

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

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

    Oracle正则表达式详解(用法+实例)

    #### 四、正则表达式应用实例 下面通过具体的例子来演示如何使用这些正则表达式函数: - **查询以 "1" 开头且以 "60" 结尾的长度为 7 的记录**: ```sql SELECT * FROM fzq WHERE REGEXP_LIKE(value, '^1.{5}60$'...

    VC、VC++,MFC 正则表达式类库

    总的来说,MFC的正则表达式类库提供了一个高效且易于使用的接口,使得VC++开发者能够方便地在Windows应用程序中处理复杂文本模式。了解并熟练掌握这些类和方法,有助于提升文本处理部分的代码质量及效率。

    JAVA正则表达式的应用

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

    正则表达式测试工具C#版(src)

    正则表达式是一种强大的文本...通过深入研究这个C#版的正则表达式测试工具源码,开发者不仅可以巩固正则表达式的基础知识,还可以提升在C#环境中应用正则表达式的能力,同时学习到UI设计和事件处理等方面的实践技巧。

Global site tag (gtag.js) - Google Analytics