Java正则表达式

简介:
1、简单认识正则表达式的概念
p( "abc".matches( "...")); //'.'代表字符
    p( "a8729a".replaceAll( "\\d""-"));//  '\d'代表数字, 由于java中‘\’的转义,所以需要2个‘\’
    Pattern p = Pattern.compile( "[a-z]{3}");//匹配a和z之间的3个字符, 先编译后效率更高
    Matcher m = p.matcher( "fgh");
    p(m.matches());
    p( "fgha".matches( "[a-z]{3}"));

2、初步认识. * + ?
.:匹配1个字符
*:匹配任意次
+:匹配至少1次
?: 匹配0或1次

p( "a".matches( "."));
    p( "aa".matches( "aa"));
    p( "aaaa".matches( "a*"));
    p( "aaaa".matches( "a+"));
    p( "".matches("a*"));
    p( "aaaa".matches( "a?")); //false
    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]")); //[]代表范围

3、范围
p( "a".matches( "[abc]"));//取abc3个字符中的某一个
    p( "a".matches( "[^abc]"));//false,取除了abc之外的字符
    p( "A".matches( "[a-zA-Z]"));
    p( "A".matches( "[a-z]|[A-Z]"));和上面的【a-zA-Z】一样
    p( "A".matches( "[a-z[A-Z]]"));和上面的【a-zA-Z】一样
    p( "R".matches( "[A-Z&&[RFG]]"));  &&代表并且

4、认识\s \w \d \
p( " \n\r\t".matches( "\\s{4}"));
    p( " ".matches( "\\S")); //false
    p( "a_8".matches( "\\w{3}"));
    p( "abc888&^%".matches( "[a-z]{1,3}\\d+[&^#%]+"));
    p( "\\".matches("\\\\"));

5、
//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]+"));



本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/307582,如需转载请自行联系原作者
相关文章
|
28天前
|
Java
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
25 0
|
15天前
|
XML 数据可视化 前端开发
java正则表达式
java正则表达式
|
3天前
|
并行计算 Java 编译器
Java Lambda表达式简介
Java Lambda表达式简介
9 0
|
5天前
|
Java 开发者
探索 Java 的函数式接口和 Lambda 表达式
【4月更文挑战第19天】Java 中的函数式接口和 Lambda 表达式提供了简洁、灵活的编程方式。函数式接口有且仅有一个抽象方法,用于与 Lambda(一种匿名函数语法)配合,简化代码并增强可读性。Lambda 表达式的优点在于其简洁性和灵活性,常用于事件处理、过滤和排序等场景。使用时注意兼容性和变量作用域,它们能提高代码效率和可维护性。
|
8天前
|
分布式计算 Java API
Java 8新特性之Lambda表达式与Stream API
【4月更文挑战第16天】本文将介绍Java 8中的两个重要新特性:Lambda表达式和Stream API。Lambda表达式是Java 8中引入的一种新的编程语法,它允许我们将函数作为参数传递给其他方法,从而使代码更加简洁、易读。Stream API是Java 8中引入的一种新的数据处理方式,它允许我们以声明式的方式处理数据,从而使代码更加简洁、高效。本文将通过实例代码详细讲解这两个新特性的使用方法和优势。
|
11天前
|
Java
Java 14 强势登场:Switch 表达式的进化之路
Java 14 强势登场:Switch 表达式的进化之路
16 0
|
13天前
|
Java 开发者
Java中的Lambda表达式:简洁、灵活的编程利器
在现代软件开发中,编写简洁、高效的代码是至关重要的。Java中的Lambda表达式为开发者提供了一种简洁、灵活的编程方式,使得代码更具可读性和可维护性。本文将探讨Lambda表达式的基本概念、语法结构以及在实际项目中的应用,以帮助读者更好地理解和运用这一强大的编程工具。
6 0
|
15天前
|
存储 Java API
java8新特性 lambda表达式、Stream、Optional
java8新特性 lambda表达式、Stream、Optional
|
27天前
|
Java API
Java中的Lambda表达式和函数式编程
传统的Java编程方式在处理一些简单的逻辑时显得繁琐,而Lambda表达式的引入为我们提供了一种更加简洁、灵活的编程方式。本文将介绍Lambda表达式和函数式编程在Java中的应用以及其与传统编程方式的对比,帮助读者更好地理解并运用这一特性。
7 0
|
30天前
|
Java API 开发者
Java中的Lambda表达式及其应用
本文将介绍Java中的Lambda表达式,探讨其在函数式编程中的作用和应用。通过对Lambda表达式的语法、特点以及实际应用场景的详细分析,读者将能够更好地理解并运用Lambda表达式,从而提高代码的简洁性和可读性。
18 1

热门文章

最新文章