Java正则表达式

简介: 一、工具1.1 正则表达式验证工具http://regexr.com/1.2 练习工具https://alf.nu/RegexGolf二、例子使用正则表达式匹配以下文本,很明显所有文本都是以ick结尾的,对应的正则为ick$MickRickallocochickbacktrickbestickcandlestickjava中处理正则表达式的类位于java.util.regex包中,包含pattern、matcher和PatternSyntaxException类。

一、工具

1.1 正则表达式验证工具

http://regexr.com/

1.2 练习工具

https://alf.nu/RegexGolf

二、例子

使用正则表达式匹配以下文本,很明显所有文本都是以ick结尾的,对应的正则为ick$

Mick
Rick
allocochick
backtrick
bestick
candlestick

java中处理正则表达式的类位于java.util.regex包中,包含pattern、matcher和PatternSyntaxException类。
判断010-62761234是不是一个电话号码:

import java.util.regex.Pattern;

public class ResTest1 {

    public static void main(String[] args) {

        String str = "010-62731234";
        String pattern = "0\\d{2}-\\d{8}";
        boolean isMatch = Pattern.matches(pattern, str);

        System.out.println(isMatch);

    }
}

正则表达式语法:

子表达式 匹配对应
^ 匹配一行的开头
$ 匹配一行的结尾
. 匹配除了换行符的任何单个字符,也可以利用 m 选项允许它匹配换行符
[…] 匹配括号内的任意单个字符。
[^…] 匹配不在括号内的任意单个字符。
\A 整个字符串的开始
\z 整个字符串的结束
\Z 整个字符串的结束,除了最后一行的结束符
re* 匹配0或者更多的前表达事件
re+ 匹配1个或更多的之前的事件
re? 匹配0或者1件前表达事件
re{ n} 匹配特定的n个前表达事件
re{ n,} 匹配n或者更多的前表达事件
re{ n, m} 匹配至少n最多m件前表达事件
a|b 匹配a或者b
(re) 正则表达式组匹配文本记忆
(?: re) 没有匹配文本记忆的正则表达式组
(?> re) 匹配无回溯的独立的模式
\w 匹配单词字符
\W 匹配非单词字符
\s 匹配空格。等价于 [\t\n\r\f]
\S 匹配非空格
\d 匹配数字. 等价于 [0-9]
\D 匹配非数字
\A 匹配字符串的开始
\Z 匹配字符串的末尾,如果存在新的一行,则匹配新的一行之前
\z 匹配字符串的末尾
\G 匹配上一次匹配结束的地方
\n 返回参考捕获组号“N”
\b 不在括号里时匹配单词边界。在括号里时匹配退格键
\B 匹配非词边界
\n, \t, etc. 匹配换行符,回车符,制表符,等
\Q 引用字符的初始,结束于\E
\E 结束由\Q开始的引用
目录
相关文章
|
16天前
|
监控 Java Python
Java 中的正则表达式
正则表达式是Java中强大的文本处理工具,支持灵活的匹配、搜索、替换和验证功能。本文介绍了正则表达式的语法基础及其在Java中的应用,包括字符串匹配、替换、分割及实际场景中的邮箱验证和电话号码提取等示例。通过这些技术,可以显著提高文本处理的效率和准确性。
67 8
|
20天前
|
Java API 开发者
Java中的Lambda表达式与Stream API的协同作用
在本文中,我们将探讨Java 8引入的Lambda表达式和Stream API如何改变我们处理集合和数组的方式。Lambda表达式提供了一种简洁的方法来表达代码块,而Stream API则允许我们对数据流进行高级操作,如过滤、映射和归约。通过结合使用这两种技术,我们可以以声明式的方式编写更简洁、更易于理解和维护的代码。本文将介绍Lambda表达式和Stream API的基本概念,并通过示例展示它们在实际项目中的应用。
|
22天前
|
Java API 开发者
Java中的Lambda表达式:简洁代码的利器####
本文探讨了Java中Lambda表达式的概念、用途及其在简化代码和提高开发效率方面的显著作用。通过具体实例,展示了Lambda表达式如何在Java 8及更高版本中替代传统的匿名内部类,使代码更加简洁易读。文章还简要介绍了Lambda表达式的语法和常见用法,帮助开发者更好地理解和应用这一强大的工具。 ####
|
23天前
|
并行计算 Java 编译器
深入理解Java中的Lambda表达式
在Java 8中引入的Lambda表达式,不仅简化了代码编写,还提升了代码可读性。本文将带你探索Lambda表达式背后的逻辑与原理,通过实例展示如何高效利用这一特性优化你的程序。
|
28天前
|
搜索推荐 Java API
探索Java中的Lambda表达式
本文将深入探讨Java 8引入的Lambda表达式,这一特性极大地简化了代码编写,提高了程序的可读性。通过实例分析,我们将了解Lambda表达式的基本概念、使用场景以及如何优雅地重构传统代码。文章不仅适合初学者,也能帮助有经验的开发者加深对Lambda表达式的理解。
|
1月前
|
Java
探索Java中的Lambda表达式
【10月更文挑战第37天】本文将带你深入理解Java的Lambda表达式,从基础语法到高级特性,通过实例讲解其在函数式编程中的应用。我们还将探讨Lambda表达式如何简化代码、提高开发效率,并讨论其在实际项目中的应用。
|
1月前
|
Java API
Java中的Lambda表达式与函数式编程####
【10月更文挑战第29天】 本文将深入探讨Java中Lambda表达式的实现及其在函数式编程中的应用。通过对比传统方法,我们将揭示Lambda如何简化代码、提高可读性和维护性。文章还将展示一些实际案例,帮助读者更好地理解和应用Lambda表达式。 ####
|
1月前
|
JSON 自然语言处理 Java
这款轻量级 Java 表达式引擎,真不错!
AviatorScript 是一个高性能、轻量级的脚本语言,基于 JVM(包括 Android 平台)。它支持数字、字符串、正则表达式、布尔值等基本类型,以及所有 Java 运算符。主要特性包括函数式编程、大整数和高精度运算、完整的脚本语法、丰富的内置函数和自定义函数支持。适用于规则判断、公式计算、动态脚本控制等场景。
|
1月前
|
Java API 开发者
Java中的Lambda表达式与函数式编程####
在Java的演变过程中,Lambda表达式和函数式编程的引入无疑是一次重大的飞跃。本文将深入探讨Lambda表达式的定义、用法及优势,并结合实例说明如何在Java中利用Lambda表达式进行函数式编程。通过对比传统编程方式,揭示Lambda表达式如何简化代码、提高开发效率和可维护性。 ####
|
19天前
|
安全 Java API
Java中的Lambda表达式:简化代码的现代魔法
在Java 8的发布中,Lambda表达式的引入无疑是一场编程范式的革命。它不仅让代码变得更加简洁,还使得函数式编程在Java中成为可能。本文将深入探讨Lambda表达式如何改变我们编写和维护Java代码的方式,以及它是如何提升我们编码效率的。
下一篇
DataWorks