JAVA 正则表达式陈广佳版本(超详细)

JAVA正则表达式陈广佳版本(超详细)攻略

什么是正则表达式

正则表达式是一种由字符和运算符组成的字符模式,用于匹配一系列文本中的字符串。在JAVA中,正则表达式是使用java.util.regex包中的类进行处理。

正则表达式语法

基本元字符

  • . :表示任意一个字符(除了换行符)。
  • \ :转义字符。
  • []:表示一个字符集合。比如[abc]表示a或b或c。
  • [^]:表示一个不在集合内的字符。比如[^abc]表示不是a或b或c的字符。
  • \d:表示数字字符。相当于[0-9]。
  • \D:表示非数字字符。相当于[^0-9]。
  • \w:表示单词字符(字母、数字、下划线)。相当于[A-Za-z0-9_]。
  • \W:表示非单词字符。相当于[^A-Za-z0-9_]。
  • \s:表示空白字符。包括空格、制表符、换页符等空白字符。
  • \S:表示非空白字符。

量词元字符

    • :表示0个或多个。
    • :表示1个或多个。
  • ? :表示0个或1个。
  • {n}:表示正好出现n次。
  • {n,}:表示至少出现n次。
  • {n,m}:表示至少出现n次,但不超过m次。

边界元字符

  • ^ :表示字符串的开头。
  • $ :表示字符串的结尾。
  • \b:表示单词的边界。
  • \B:表示非单词的边界。

分组元字符

  • ():表示分组,可以将多个元字符组合在一起进行匹配。比如(a|b)表示匹配a或者b。
  • (?:):表示只匹配,但不捕获。

JAVA中的正则表达式方法

JAVA中的正则表达式方法主要是通过Pattern和Matcher两个类实现的。

Pattern类

Pattern类表示一个正则表达式的编译后的表现形式。常用的方法有:

  • compile(String regex):将正则表达式编译为一个Pattern对象。
  • matcher(CharSequence input):通过一个CharSequence(可以是String)对象创建一个Matcher对象。

Matcher类

Matcher类表示一个正则表达式在一个字符串上的匹配结果。常用的方法有:

  • matches():判断整个文本是否匹配正则表达式。
  • find():查找下一个匹配的子串。
  • group():返回匹配的整个子串。
  • group(int group):返回匹配的第group个子串。
  • start():返回匹配的子串在原文本中的开始位置。
  • end():返回匹配的子串在原文本中的结束位置。

常见应用示例

匹配数字

String regex = "\\d+";
String text = "123abc456";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
    System.out.println(matcher.group());
}

输出:

123
456

匹配电话号码

String regex = "(\\d{3,4}-)?\\d{7,8}";
String text = "021-1234567, 12345678";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
    System.out.println(matcher.group());
}

输出:

021-1234567
12345678

总结

通过本文的介绍,可以知道JAVA中正则表达式的基本语法和常用方法,以及常见应用示例。掌握正则表达式能够为文本匹配和替换提供很大的便利,也是JAVA开发中的基础技能之一。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA 正则表达式陈广佳版本(超详细) - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • Linux iptables重启后失效

    解决办法如下: 输入完iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 8080 后  执行iptables-save 注意:iptables-save是连在一起的,是一个命令,不是参数 iptables-save 仅仅是列出当前设置,并不是将配置保存 若你用的是 Re…

    Linux 2023年4月11日
    00
  • Linux下python3.6.1环境配置教程

    Linux下python3.6.1环境配置教程 简介 Python是一种简单易学的脚本语言,常用于Web开发、数据科学、人工智能等领域。在Linux系统中,我们可以通过管理器或源码编译的方式来安装Python。本教程将提供一种通过源码编译的方法来安装python3.6.1环境。 步骤 1. 下载源码 首先,我们需要到Python官网下载Python3.6.1…

    Linux 2023年5月14日
    00
  • arm linux 启动之二:start_kernel到创建1号进程

            本文介绍arm linux启动的第二部分,C语言编写,主要讲述start_kernel到1号进程的创建。主要讲述大概过程,以后再对子函数进行讲解。         一、start_kernel           start_kernel位于init/main.c,主要完成linux一些子系统的初始化。           1)smp_set…

    Linux 2023年4月11日
    00
  • VMware安装Centos8系统的教程图解(中文图形化模式)

    下面是“VMware安装Centos8系统的教程图解(中文图形化模式)”的完整攻略: 一、下载系统镜像文件 我们可以从CentOS官网的下载页面,找到我们需要的版本。本教程以CentOS 8为例,我们可以在官网的镜像列表中找到CentOS 8的安装镜像,选择x86_64的DVD镜像进行下载。 二、创建虚拟机 打开VMware Workstation或VMwa…

    Linux 2023年5月24日
    00
  • Centos7.2 编译安装PHP7.0.2的步骤

    CentOS 7.2 编译安装 PHP 7.0.2 的步骤 以下是 CentOS 7.2 编译安装 PHP 7.0.2 的详细步骤。 1. 准备工作 在开始之前,我们需要确保服务器上已经安装了一些编译工具,包括 gcc、automake、autoconf、libtool 等。我们可以通过以下命令进行安装: sudo yum install -y gcc au…

    Linux 2023年5月14日
    00
  • LNMP环境下搭建yum的方法分析

    LNMP环境下搭建yum的方法分析 在LNMP环境下,yum是一种方便的软件包管理工具。本文将详细讲解如何在LNMP环境下搭建yum。 第一步:安装必要的软件 在搭建yum之前,需要安装一些必要的软件。可以使用以下命令安装: yum install -y wget rpm cpio 第二步:下载yum的软件包 在本步骤中,我们需要下载yum的软件包。以yum…

    Linux 2023年5月14日
    00
  • 服务器实现端口转发的N种方式

    简介 在一些实际的场景里,我们需要通过利用一些端口转发工具,比如系统自带的命令行工具或第三方小软件,来绕过网络访问限制触及目标系统。下文为大家总结了linux系统和windows系统端口转发常用的一些方法。 注:Linux实现端口转发需要内核支持,请确保内核参数net.ipv4.ip_forward值为1。 一、采用iptables实现 iptables是一…

    Linux 2023年4月17日
    00
  • Linux系统下Xen虚拟机的安装和配置详细教程

    Linux系统下Xen虚拟机的安装及配置 一、前置条件 在安装Xen虚拟机前,需要检查Linux系统是否支持虚拟化技术,具体方法如下: 运行以下命令,检查系统是否支持虚拟化技术: shell egrep -c ‘(svm|vmx)’ /proc/cpuinfo 如果输出的数字大于0,说明系统支持虚拟化技术;如果输出的数字等于0,则说明系统不支持虚拟化技术。 …

    Linux 2023年5月24日
    00
合作推广
合作推广
分享本页
返回顶部