`
zhangcong170
  • 浏览: 70992 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

java正则表达式小练习

阅读更多

        正则表达式像太极拳一样可谓是“易学难精”,名字听起来也比较唬人,呵呵。希望朋友们多多交流,以下代码是我写的小例子,非常简单,供入门的朋友们学习,欢迎大家指教。

    

package com.cn;
import java.util.Date;
import java.util.regex.*;
public class RegexTest {
  public static void main(String args[]){
	  int i=1;
	  //1.匹配用一个空格分隔的任意一对单词
	  Pattern p=Pattern.compile("[a-zA-Z]* [a-zA-Z]*");
	  Matcher m=p.matcher("abc defdsafa");
	  System.out.println(i+++""+m.matches());
	  
	  //2.匹配合法的java标识符
	  p=Pattern.compile("_|[a-zA-Z]{0,1}([a-zA-Z0-9_])*");
	  m=p.matcher("__iwrj");
	  System.out.println(i+++""+m.matches());
	  
	  /*
	   *3. 假设街道地址使用这样的格式 1180 Brod Driver.
	   * 要求能够匹配多个单词的街道名字,如1234 De Hi Good
	   * 
	   */
	  p=Pattern.compile("[\\d]{4}( [A-Z]{1}[a-z]*)*");
	  m=p.matcher("1180 Brod Driver Driver");
	  System.out.println(i+""+m.matches());
	  m=p.matcher("1234 hello");
	  /*
	   * 注意find与matches()的区别  
	   * 调用find方法,只执行尽量匹配
	   * 而调用matches方法,则执行严格的匹配  1234 hello显然是不匹配的(严格匹配模式下)
	   * 所以  在这个例子中  调用find()方法返回的是true
	   * 而调用matches()方法返回的是false
	   */
	  System.out.println(i+""+m.find());
	  System.out.println(i+++""+m.matches());
	  
	  /*
	   *4. 匹配简单的以www.开头,以.com结尾的Web域名
	   * 注意:\\.表示.而\\表示\
	   */
	  p=Pattern.compile("^www\\.[a-zA-Z0-9]*\\.com$");
	  m=p.matcher("www.iteye.com");
	  System.out.println(i+++""+m.matches());
	  
	  /*
	   * 5.匹配所有合法的电子邮件的地址
	   * 如123fn@163.com
	   * 
	   */
	  p=Pattern.compile("\\w+@\\w+\\.com$");
	  m=p.matcher("af123dfas@123.com");
	  System.out.println(i+++""+m.matches());
	  
	  
	  /*
	   * 6.用正则表达式表示1-12月
	   * 
	   */
	  p=Pattern.compile("(0?[0-9])|1[012]");
	  m=p.matcher("8");
	  System.out.println(i+++""+m.matches());
	  
	  /*
	   * 7.用正则表达式表示15位的信用卡号,卡号格式为4-6-5
	   * 
	   */
	  p=Pattern.compile("[\\d]{4}-[\\d]{6}-[\\d]{5}$");
	  m=p.matcher("1234-123235-09848");
	  System.out.println(i+++""+m.matches());
	  
  }
}

 

  

1
1
分享到:
评论
2 楼 suifeng 2009-03-09  
[a-zA-Z_\$][\w\$]*
反复练习是学习正则表达式的必要途径
1 楼 suifeng 2009-03-09  
[a-zA-Z]+ [a-zA-Z]+

[a-zA-Z_\$][a-zA-Z0-9_\$]*

相关推荐

    Java正则表达式 Java 正则表达式

    Java正则表达式是Java语言中用于处理字符串的强大工具,它允许程序员进行复杂的字符串匹配、查找和替换操作。正则表达式(Regular Expression)是一种模式匹配语言,通过特定的语法来描述字符串的模式,用于在文本中...

    Java正则表达式介绍和练习

    Java正则表达式介绍和练习Java正则表达式介绍和练习Java正则表达式介绍和练习

    Java正则表达式详细讲解

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

    正则表达式综合练习

    10. **编程语言支持**:大多数编程语言都内置了正则表达式支持,如Java(Test.java中的例子可能涉及Java的`Pattern`和`Matcher`类),Python的`re`模块,JavaScript的`match`、`replace`等方法。 11. **优化技巧**...

    Java正则表达式入门介绍课件

    Java正则表达式是编程语言Java中用于处理字符串的强大工具,它允许程序员通过模式匹配来查找、替换或提取文本。正则表达式在各种场景下都有广泛应用,如数据验证、文本搜索与替换等。本课件旨在为初学者提供一个Java...

    正则表达式 练习 java

    正则表达式练习器 正则表达式是一种强大的字符串匹配工具,它可以帮助开发者快速地匹配和提取字符串中的特定模式。然而,要熟练掌握正则表达式并不是一件容易的事情。为此,本文提供了一个正则表达式练习器,通过这...

    java正则表达式全

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

    用于练习正则表达式的java运行源码

    8. **预定义字符类**:Java正则表达式支持一些预定义的字符类,如`\d`(等价于`[0-9]`),`\w`(等价于`[a-zA-Z0-9_]`),`\s`(空白字符)等。 9. **边界匹配器**:`\b`用于匹配单词边界,`\B`匹配非单词边界。 ...

    Java Swing版的正则表达式测试工具

    Java Swing版的正则表达式测试工具是一款专为Java开发者设计的实用软件,它利用Swing作为GUI库,提供了一个直观、便捷的平台,用于学习和测试正则表达式。这款工具无需任何额外的安装步骤,只需具备Java环境,就可以...

    java代码-在线 java正则表达式测试工具,java正则测试,在线java正则匹配

    Java正则表达式是编程语言Java中用于处理字符串的强大工具,它允许程序员通过模式匹配来查找、替换或分割文本。在线Java正则表达式测试工具是开发者常用的辅助资源,可以帮助他们在编写和调试正则表达式时实时查看...

    详细的java正则表达式

    Java正则表达式是Java编程语言中的一个强大工具,用于处理字符串模式匹配和文本解析。在Java中,正则表达式通常与`java.util...为了更好地理解这些概念,建议查阅`java正则表达式详解.doc`文档中的详细例子和实践练习。

    java正则表达式java正则表达式java正则表达式

    Java正则表达式是Java编程语言中的一个强大工具,用于处理字符...在处理压缩包中的"RegExp"文件时,可能包含有这些概念的实例代码、解析说明或者练习题目,通过学习和实践,你可以深入理解和掌握Java正则表达式的用法。

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

    在Java编程语言中,正则表达式是一个强大的工具,用于对字符串进行模式匹配。正则表达式不仅可以用于验证数据的有效性,如检查是否为电子邮件...通过练习和应用,可以加深对正则表达式规则的理解,提高编程技能和效率。

    java正则表达式pattern

    总结一下,Java正则表达式Pattern是通过`Pattern.compile()`方法编译的正则表达式,用于创建匹配器以进行字符串匹配。正则表达式是一种强大且灵活的文本匹配工具,包含各种元字符和运算符,如`\d`、`.`、`*`、`+`和`...

    Java正则表达式详解

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

    正则表达式匹配/可以自定义正则表达式

    通过不断地练习和尝试,你可以编写出更复杂、更高效的正则表达式,解决各种文本处理问题。在压缩包文件"正则表达式匹配"中,你可能找到更多关于正则表达式实际应用的实例和教程,这将有助于你加深理解和提升技能。

    很全的正则表达式

    正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索和替换等场景。...通过不断练习和使用,你将能够熟练运用正则表达式解决各种文本处理问题。

    java \javascript 正则表达式

    正则表达式是一种强大的文本处理工具...通过不断的练习和实践,你可以成为正则表达式的熟练使用者,能够快速地在Java和JavaScript中处理复杂的文本问题。记得定期复习和测试自己的知识,以保持对正则表达式的熟练掌握。

    java最常用的正则表达式

    总的来说,Java正则表达式是开发过程中的一项重要技能,通过学习和实践,你将能够更有效地处理字符串,提高代码的效率和可读性。记得多做练习,理解和应用这些概念,以便在实际项目中灵活运用。

Global site tag (gtag.js) - Google Analytics