Java正则表达式

Java 正则表达式 正则表达式中存在一些预定义字符,它们可以匹配特定的字符集合。\d:匹配任意数字字符,相当于字符类[0-9]。\D:匹配任意非数字字符,相当于字符类[^0-9]。\s:匹配任意空白字符,包括空格、制表符、换页符等,相当于字符类[f \r\t\v]。\S:匹配任意非空白字符,相当于字符类。w:匹配任意字母、数字或下划线字符,相当于字符类。\W:匹配任意非字母、数字或下划线的字符,相当于字符类。:通常用于匹配除换行符之外的任意单个字符。但在一些情况下,它可以配置为匹配包括换行符在内的任意字符。 阅读详情

入门介绍

正则表达式是由普通字符(如英文字母、数字等)以及特殊字符(如元字符"\D")组成的字符串模式,正则表达式可以理解成一套模板,这套模板可以匹配字符串。

入门练习

例如从下面这行字符串
https://editor.youkuaiyun.com/md?articleId=112210427
中提取出文章id

package cn.test;

import org.junit.Test;

public class TestRegex {
	@Test
	public void testRegex() {
		String str = "https://editor.youkuaiyun.com/md?articleId=112210427";
		String articleId = str.replaceAll("\\D", "");
		System.out.println(articleId);
	}
}

运行结果:
在这里插入图片描述

利用正则表达式分解字符串

入门实例

package cn.test;

import org.junit.Test;

public class TestRegex {
	@Test
	public void testStr() {
		String content="正则表达式-优快云博客";
		/*
		 * 正则表达式\\p{Punct}匹配的是标点符号 
		 * */
		String [] contentRegex = content.split("\\p{Punct}");
		for (String string : contentRegex) {
			System.out.println(string);
		}
	}
}

运行结果:
在这里插入图片描述

常用元字符及其含义

元字符正则表达式写法含义
\d\\d代表0-9中的任意数字
\D\\D代表任何一个非数字字符
\S\\S代表非空格类字符
\s\\s空格类字符
\p{Lower}\\p{Lower}小写英文字母
\p{Upper}\\p{Upper}大写英文字母
\p{Punct\\p{Punct}标点符号
\p{Blank}\\p{Blank}空格或制表符(\t)

正则表达式中,使用方括号括起若干字符表示一个元字符,该元字符匹配的是括号内的任意一个字符。
如String str = "[abc]123"匹配的是"a1123","b123“,"c13"

包含方括号的元字符

写法含义
[abc]a或b或c
[^abc]除去abc的任何字符
[a-z]a~z中的任何一个字符
[a-zA-Z]所有英文字母
[1-9]1~9中的任何一个数字
[a-d1-3]字母a到d和数字1到3
方括号的元字符演示
package cn.test;

import org.junit.Test;

public class TestRegex {
	@Test
	public void testRegex() {
		String str = "a1b2c3dAZ4";
		String strReplace1 = str.replaceAll("[abc]", "");
		System.out.println("使用元字符[abc]匹配的结果为:"+strReplace1); //123dAZ4
		String strReplace2 = str.replaceAll("[^abc]", "");//abc
		System.out.println("使用元字符[^abc]匹配的结果为:"+strReplace2);
		String strReplace3 = str.replaceAll("[a-zA-Z]", "");//1234
		System.out.println("使用元字符[a-zA-Z]匹配的结果为:"+strReplace3);
		String strReplace4 = str.replaceAll("[1-9]", "");//abcdAZ
		System.out.println("使用元字符[1-9]匹配的结果为:"+strReplace4);
		String strReplace5 = str.replaceAll("[1-3]", "");//abcdAZ4
		System.out.println("使用元字符[1-3]匹配的结果为:"+strReplace5);
		String strReplace6 = str.replaceAll("[a-d1-3]", "");//AZ4
		System.out.println("使用元字符[a-d1-3]匹配的结果为:"+strReplace6);
	}
}

运行结果
在这里插入图片描述

常用限定符

限定符定义了某些元素可以出现的频次,如X{n,m}表示X出现n到m次的字符都可以匹配

写法含义
X{n}X确定出现了几次,如a{2},字符’caab’中有两个a出现,正好匹配到此次的正则表达式
X{n,},X至少出现n次,如A{2,},A至少出现2次
X{n,m}X出现n到m次,如ab{1,3}表示ac这个字符出现1到3次
X?X出现0次到1次
X*X出现0次到1次
X+X出现1次或多次
47、Java正则表达式:\p{…}和\P{…}的支持与使用 本文详细介绍了Java中正则表达式对Unicode属性(如\p{…}和\P{…})的支持,探讨了Unicode块的使用方法以及Java字符属性的特殊处理。文章还讲解了Java的正则表达式处理机制,包括Pattern和Matcher类的使用,以及高级功能如零宽断言、模式修饰符和搜索替换操作。通过丰富的代码示例,帮助开发者更好地掌握Java正则表达式在字符串匹配和处理中的实际应用。 阅读详情

相关推荐

从BIOS到路由器:深入拆解SPI NOR Flash的硬件连接与‘芯片内执行’(XIP)奥秘

本文深入解析SPI NOR Flash的硬件连接与‘芯片内执行’(XIP)技术,从BIOS到路由器的应用场景出发,详细介绍了其架构精髓、典型连接方案、时序设计及性能优化方法。通过实际案例和参数对比,帮助开发者掌握NOR Flash在嵌入式系统中的关键作用与设计技巧,提升电路设计效率与可靠性。

weixin_30522183的博客 490

正则表达式\ p {L}和\ p {N}

背景:看同事代码用到了一个没接触过的正则: /[_\p{L}\p{Nd}\.]/u \p{L}:匹配属于“字母”类别的单个字符 \p{Nd}:匹配除表意文字外的任何文字中的数字零到九 /u :表示按unicode(utf-8)匹配(主要针对多字节比如汉字) /i :表示不区分大小写(如果表达式里面有 a, 那么 A 也是匹配对象) /s :表示将字符串视为单行来匹配 参考:regular-expressions ...

qq_33539213的博客 9146

ANSYS Help USER300

USER 300概述单元描述输入数据假设与限制条件 概述 单元描述 Mechanical APDL提供了一种方便的方法来创建自定义的单元,命名为USER300,可以创建几乎任何单元类型。 UserElem子程序为Mechanical APDL在单元类型创建上提供了一个接口,可传递用户自定义单元创建时所需的所有数据,然后从自定义单元返回所有数据和结果,以更新数据库和文件。因为通过接口可以访问数据库和文件信息,所以很少需要了解Mechanical APDL数据库程序和文件结构。该接口还提供了获取Mechanic

weixin_47019765的博客 2232

前端js正则\p的使用, 全局标志g的问题

javascript正则\p的使用正则表达式\p语法元素使用方式参考链接 正则表达式\p语法元素 元字符 含义 \p{L} 所有字母3 \p{N} 所有数字,类似于 \d 4 [\p{N}\p{L}] 所有数字和所有字母,类似于 \w 4 \P{L} 不是字母,等价于 [^\p{L}] \P{N} 不是数字,等价于 [^\p{N}] 使用方式 var reg1 ...

王为仁的博客 6990

无人机室内悬停如何稳?光流与IMU数据融合实战解析

在无GPS的室内环境中,无人机自主悬停依赖多传感器融合,其中光流与IMU是核心组合。光流传感器通过图像像素位移估算相对地面的速度,长期无漂移,但易受光照和纹理影响;IMU高频响应出色,却存在积分累积漂移。两者在频率与误差特性上天然互补,融合后可实现高精度位置估计。工程实践中,需合理选型、正确处理坐标变换与时间对齐,并通过互补滤波或扩展卡尔曼滤波将光流速度修正引入状态估计,进而支撑位置环与速度环控制。这一技术不仅解决室内定点悬停,也为视觉惯性里程计等更复杂的自主定位提供基础。本文结合真实调试案例,梳理从硬件安

weixin_33314040的博客 293

图像调整亮度饱和度 c语言,【C#/WPF】调节图像的HSL(色相、饱和度、明亮度)...

先说概念:HSL是一种描述颜色的方式(其他颜色描述方式还有大家熟悉的RGB值)。HSL三个字母分别表示图像的Hue色相、Saturation饱和度、Lightness明亮度。需求:制作一个面板,包含三个滑动条,拖动滑动条可以修改目标图片的HSL值。即模仿PS中类似的功能,如下图:方案一:遍历所有像素点,修改每个点的HSL值。前台界面:一个Image控件显示目标图片,一个Button按钮点击一下降低...

weixin_39935777的博客 1154

正则表达式

正则表达式: 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。 字符类 [abc] a、b 或 c(简单类) [^abc] 任何字符,除了 a、b 或 c(否定) [a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围...

liujiujiang的博客 2979

用易经智慧看懂人工智能:64卦中的科技密码--当古老智慧遇见未来科技

在人工智能狂飙突进的今天,我们总在追问:这些代码构建的智能究竟会带人类走向何方?或许答案早已藏在《周易》的六十四卦中——这本中华文明的“源代码”,正用一种跨越时空的语言,悄悄解释着最前沿的科技秘密。

weixin_38410320的博客 2081

Java正则表达式的\P{L}

在阅读书上案例的时候,看到如下一句代码: String[] words = contents.split("[\\P{L}]+"); 这句话什么意思呢?通过在网上搜索,找到两篇有用的索引: https://stackoverflow.com/questions/14891129/regular-expression-pl-and-pn https://www.regular-ex...

hefrankeleyn的博客 6800

cefshap(C#)定义浏览器的右键菜单

菜单效果:复制(自带),搜索文本,打开链接,复制链接,刷新,检查,关于 public class MenuHandler : IContextMenuHandler { //public event Action<string> PopupRequest; void IContextMenuHandler.OnBeforeContextMenu(IWebBrowser browserControl, IBrows

无线智能模块 可视DIY智能专家 1704

手把手教你学simulink(8.39)--基于Simulink的步进电机(Stepper Motor)仿真实例

通过这个仿真实例,你可以学习如何使用Simulink构建和仿真步进电机(Stepper Motor)系统。你可以根据实际需求调整模型和参数,进行更复杂的仿真和分析。希望这个例子对你有所帮助,祝你学习愉快!

MHD0815的博客 1050

Java——正则表达式详解

Java对正则表达式的支持是从1.4版本开始的,此前的JRE版本不支持正则表达式。Java语言中的正则表达式匹配功能主要是通过和类实现的。find():在一个字符串里寻找一个给定模式的匹配:用一个给定的模式尝试匹配一个字符串的开头matches():用一个给定的模式去尝试匹配一个完整的字符串:进行替换操作,对所有的匹配都进行替换:进行替换操作,只对第一个匹配进行替换compile():把一个正则表达式编译成一个模式flags():返回某给定模式的匹配标志matches()

吴声子夜歌的博客 2万+

复旦微实现串口在线升级BOOT.BIN

将该 demo 生成的 app(升级用)和 fsbl、最简化 bit 文件(可选)打包成 BOOT.BIN,作为 golden image 烧写在 qspi flash 偏移 0 地址开始的位置,其中最简化 bit 文件为在线升级功能提供必要的物理通道(如果不需要,可以不打包该文件),golden image 一旦发布基本不需要进行升级,由该 golden image 负责和上位机进行通信交互,完成业务 app、业务 bit 文件、uboot 以及操作系统 image 等文件在线升级,在qspi flash

wangjie36的博客 3172

【Java 基础篇】Java 正则表达式

本篇博客介绍了 Java 正则表达式的基本概念、语法和常用操作。我们学习了如何创建正则表达式模式对象、匹配器对象,以及如何使用它们进行字符串的匹配、提取和替换操作。正则表达式在 Java 程序中具有广泛的应用,可以帮助我们处理文本数据,提取关键信息,进行格式验证等。通过灵活运用正则表达式,我们可以更高效地处理字符串操作。希望本篇博客对你理解和使用 Java 正则表达式有所帮助。祝你在 Java 编程中取得更多的成功!

繁依Fanyi的博客 1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【Java从入门到精通】Java 正则表达式

正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。Java 提供了 java.util.regex 包,它包含了 Pattern 和 Matcher 类,用于处理正则表达式的匹配操作。

RL2698853114的博客 1309

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

java正整数正则表达式_Java 正则表达式

Java 正则表达式正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。正则表达式实例一个字符串其实就是一个简单的正则表达式,例如 Hello World 正则表达式匹配 "Hello World" 字符串。.(点号)也是一个正则表达式,它匹配任何一个字符如:"a" 或 "1"。下表列出了一些正则表达式的实例及描述:正...

weixin_35652131的博客 4883

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

java 正则表达式 例子_Java正则表达式例子汇总

1.过滤特殊字符package com.sheepmu.text;/** @author sheepmu*/public class HWCompetition {public static void main(String[] args){String s="a%&a^b}b*[cc]#d{d\"ee/ff\\gg"; //!!!!! \"是为了在字符串中转义"; \\ 只是为了在字...

weixin_33499715的博客 1381

java的正则表达式

Java 中的正则表达式是一种强大而灵活的文本匹配方案,可用于检索、替换和匹配文本。正则表达式是一个字符串模式,它规定了要匹配哪些字符或字符序列。在 Java 中,正则表达式由 java.util.regex 包提供支持,主要使用 Pattern 和 Matcher 两个类来处理。Java 的正则表达式由各种字符和字符类组成,它们可以与输入文本进行匹配。该正则表达式是由多个字符和字符类组成,按顺序匹配输入文本。

wokeai1999的博客 989

java之正则表达式

在其他的语言中(如C),用一个反斜杠 \ 就可以表示转义,而在Java语言,正则表达式中要用两个反斜杠才能表示转义。 Java语言中,表示一位数字的正则表达式是 \\d,表示一个普通的反斜杠是 \\\\。 以座机号码的正则表达式来分析如下: private void testForRegExp() { String[] s = {"120", "10086", "+86-010-55...

lyl0530的博客 316
上一篇: Mock.js快速上手
下一篇: 解决github访问慢的问题
迷失的小鹿
博客等级 码龄8年 1万+粉丝 199原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值