Java正则表达式(摘自<<Java核心技术>>)

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

Java正则表达式语法(类Perl,但有些区别)

语法解释
字符
c字符c
\Unnnn,\Xnn,\0n,\0nn,\0nnn具有给定十六进制或十进制值的码元
\t,\n,\r,\f,\a,\e控制符: 制表符,换行符,回车符,换页符,警告符,符
\Cc与字符c相关的控制符
字符类
[C1C2…]任何由C1,C2,…表示的字符,其中C1可以是多个字符,字符范围(c1-c2)和字符类
[^…]字符类的补集
[…&&…]两个字符集的交集
预定义字符类
.除了行终止符之外的所有字符(在DOTALL标志被设置时,则表示所有字符)
\d一个数字[0-9]
\D一个非数字[^0-9]
\s一个空白字符[\t\n\r\f\x0B]
\S一个非空白字符
\w一个词语字符[a-zA-Z0-9_]
\W一个非词语字符
\p{name}一个命名字符类—请查看 预定义的字符类表
\P{name}一个命名字符类的补集
边界匹配符
^ $输入的开头和结尾(或者在多行模式下行的开头和结尾)
\b一个词语的边界
\B一个非词语边界
\A输入的开头
\z输入的结尾
\Z除了行终止符之外的输入结尾
\G前一个匹配的结尾
量词
X?可选的X
X*X, 0或多次
X+X, 1或多次
X{n},X{n,}或X{n,m}X n次,至少n次,在n到m次之间
量词后缀
?将默认(贪婪)匹配转变为勉强匹配
+将默认(贪婪)匹配转变为占有匹配
集合操作
XY任何X中的字符串,后面跟随任何Y中的字符串
X|Y任何X或Y中的字符串
群组
(X)捕获将X作为群组匹配的字符串
\n第n个群组的匹配
转义
\c字符c(必须是不在字母表中的字符)
\Q…\E逐字的引用
(?…)捕获结构,见www.jb51.net/tools/zhengze.html后向引用段或 Pattern类的API注释
预定义的字符类名字
字符类名字解释
LowerASCII的小写字母[a-z]
UpperASCII的大写字母[A-Z]
AlphaASCII的字母[A-Za-z]
DigitASCII的数字[0-9]
AlnumASCII的字母或数字[A-Za-z0-9]
XDigit十六进制数字[0-9A-Fa-f]
Print或Graph可打印的ASCII字符[\x21-\x7E]
PunctASCII的非字母和数字字符[\p{print}&&\P{Alnum}]
ASCII所有ASCII字符[\x00-\x7F]
CntrlASCII的控制字符[\x00-\x1F]
Blank空格字符或制表符[\t]
Space空白字符[\t\n\r\f\0x0B]
javaLowerCase小写字母,正如Character.isLowerCase()确定的字符
javaUpperCase大写字母,正如Character.isUpperCase()确定的字符
javaWhitespace空白字符,正如Character.isWhitespace()确定的字符
javaMirrored镜像字符,正如Character.isMirrored()确定的字符
InBlockBlock是Unicode字符块的名字,不过要剔除名字中的空格,例如BasicLatin和Mongonlian. 字符块名字列表请查看http://www.unicode.org
Category或InCategoryCategory是Unicode字符类别的名字,例如L(字母)和Sc(货币符号)字符类别的名字列表请查看http://www.unicode.org

三类括号:

[] 表示在里面集合中取一个字符
{} 用在其他后面做修饰,指示集合名字或数量
() 将一段数据作为群组捕获,常用于群组前后有特殊要求,而只需获取群组内容的情况下.

类说明

java.util.regex.Pattern
static Pattern compile(String expression)
static Pattern compile(String expression, int flags)
把正则表达式字符串编译到一个用于快速处理匹配的模式对象中.
参数: expression 正则表达式
flags CASE_INSENSITIVE
UNICODE_CASE
MULTILINE
UNIX_LINES
DOTALL
CANON_EQ
Matcher matcher(CharSequence input)
返回一个matcher对象,可以用它在输入中定位模式的匹配
String[] split(CharSequence input)
String[] split(CharSequence input, int limit)
将输入分割成标号,其中模式指定了分隔符的形式.返回标号数组,分隔符并非标号的一部分
参数: input 要分割成标号的字符串
limit 所产生的字符串的最大数量.如果已经发现了limit-1个匹配的分割符,那么
     返回的数组中的最后一项就包含所有剩余未分割的输入.如果limit<=0,那么这个
     输入都被分割;如果limit为0,那么队尾的空字符串将不会置于返回的数组中


java.util.regex.Matcher
boolean matches()
如果输入匹配模式,则返回true
boolean lookingAt()
如果输入的开头匹配模式,则返回true
boolean find()
boolean find(int start)
尝试查找下一个匹配,如果找到了另一个匹配,则返回true
参数: start 开始查找索引位置
int start()
int end()
返回当前匹配的开始索引和结尾之后的索引
String group()
返回当前的匹配
int groupCount()
返回输入模式中的群组数量
int start(int groupIndex)
int end(int groupIndex)
返回当前匹配中给定群组的开始和结尾之后的位置
参数: groupIndex 群组索引(从1开始), 或者表示整个匹配的0
String group(int groupIndex)
返回匹配给定群组的字符串
参数:groupIndex 群组索引(从1开始),或者表示整个匹配的0
String replaceAll(String replacement);
String replaceFirst(String replacement);
返回从匹配器输入获得的通过将所有匹配或第一个匹配用替换字符串替换之后的字符串.
参数:replacement 替换字符串,它可以包含用 n表示的对群组的引用,这时需要用$来表示包括一个 符号
Matcher reset()
Matcher reset(CharSequence input)
复位匹配器的状态.第二个方法将使匹配器作用于另一个不同的输入.这两个方法都返回this.

Oracle数据库安装及配置(Oracle19c) Windows 10安装Oracle 19c教程 阅读详情

相关推荐

DFRobot MGC3130电容式手势传感器库深度解析

电容式近场感应(Electric Near Field Sensing)是一种非接触、抗干扰的三维空间感知技术,其原理基于人体介电特性对高频电场的扰动响应,具备低功耗、高鲁棒性与零物理接触等核心优势。该技术广泛应用于医疗人机交互、工业HMI、智能家电等对可靠性与环境适应性要求严苛的嵌入式场景。DFRobot_MGC3130库正是面向Microchip MGC3130芯片的工程化实现,封装了I²C驱动、ASU硬件加速调度及多层抽象API,支持手势识别、触控检测与接近唤醒等功能动态切换。结合电容式近场感应与嵌入

weixin_34620658的博客 551

Java正则表达式

  在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如何使用java.util.regex包。  可粗略估计一下,除了偶尔用Linux的外,其他Linu x用户都会遇到正则表达式。正则表达式是个极端强大工具,而且在字符串模式-匹配和字符串模式-替换方面富有弹性。在Unix世界里,正则表达式几乎没有什么限制,可肯定的是,它应用非常之广泛。 

4194

PCB Layout总结

PCB Layout作为硬件设计中的一个环节,也是很重要的一个环节;在硬件电路设计合理的情况下,他其实是影响性能的一个绝对重要的指标。现在很多的PCB Layout工程师都是按照硬件工程师或者PI SI工程师给出的约束规则来完成布局布线的,这些也就是俗称的 “拉线工”。他们重复而机械的完成一块块PCB设计,一段时间设计后,他们中的一些或许已经有了这样的一些经验:哪些要做等长,哪些要走粗、哪些要平...

xydlxd118的博客 2583

Java 基础之正则表达式:强大的文本匹配利器

Java 正则表达式是一个用于匹配字符串的模板,由字符和特殊字符组成,可用于查找、替换、验证特定的模式。在 Java 中,我们可以使用 java.util.regex 包中的类来操作正则表达式。正则表达式在 Java 编程中发挥着重要作用。它可以被看作是一种定义字符串规则的工具,通过特定的模式来匹配、查找、替换和验证字符串。例如,我们可以使用正则表达式来验证用户输入的邮箱地址是否合法,或者从一段文本中提取特定的信息。在 Java 中操作正则表达式,首先需要导入 java.util.regex 包。

qq_25699299的博客 3759

从Peer到脉冲地震波:免费Python工具全流程配置教程(PyCharm+Anaconda)

本文详细介绍了如何使用Python工具链(PyCharm+Anaconda)实现从Peer数据库获取地震波数据到生成脉冲地震波的全流程配置。通过开源工具EQTOOL和PySeismicGen,结合Python环境搭建、数据格式转换和脉冲地震动生成技术,为结构抗震分析提供高效、灵活的解决方案。

weixin_29093169的博客 430

2021-8-14 EDK II编译

2021-8-14 EDK II 编译为什么要写这篇文章新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 为什么要写这篇文章 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdo

qq_45775660的博客 2948

Java 正则表达式

Java 正则表达式

博客 629

汽车工程师必看:从CAN到Ethernet,6种车载通信协议全解析(附应用场景对比)

本文全面解析了从CAN到Ethernet的6种车载通信协议,包括CAN、LIN、MOST、FlexRay等,并对比了它们的应用场景和技术特点。文章详细介绍了各协议的演进历程、技术优势及在现代汽车中的混合网络架构设计,为汽车工程师提供了实用的协议选型指南和未来通信技术发展趋势。

weixin_28683689的博客 493

java核心技术之正则表达式

1.正则表达式正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE)。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串2.元字符: 元字符 正则表达式的写法 意义 . “.” 任意一个字符 ^ “^Spring” 以Spring开始的字符 “EEEE$” 匹

hfreeman2008的专栏 1143

unity中VideoPlayer播放视频,使用Shader除去黑底且无黑边

1. 创建一个Shader 和 一个 材质球;Shader中复制如下代码:(此Shader代码为“ChromaKeyKit”插件中的ChromaKey_Alpa_Genera代码,但因只需要除去视频黑底而挂一个插件有点不合适) // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' Shader "ChromaKeyKit/ChromaKey/ChromaKey_Alpha_General"

weixin_42065078的博客 1747

Esp32蓝牙Hid调用方案 http执行设备、鼠标、键盘相关操作

本文主要介绍 Esp32 蓝牙 Hid 相关的多种操作方式,详细的设备、鼠标、键盘相关操作的 http 调用方法。下面是整理出的所有 http 调用方法和 rhino 引擎方式。本机调用的话直接使用http://localhost:8080 如果是局域网调用则使用软件里的地址 比如我的是http://192.168.1.5:8080。文件地址: https://www.123865.com/s/Qtm4jv-xyZbd?使用前需要一块烧录好的ESP32板子并在手机安装好embedded软件用于蓝牙通信。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 571

java核心技术正则表达式

1.8正则表达式<br />正则表达式 (regular expression)用于指定字符串的模式,你可以在任何需要定位匹配某种特定模式的字符串的情况下使用正则表达式。<br /> <br />下面是一个简单的示例:<br />[Jj]ava.+<br />匹配下列形式的所有字符串:<br />l         第一个字母是J或j.<br />l         接下来的三个字母是ava<br />l         字符串的其余部分由一个或者多个任意的字符构成<br />例如 : 字符串“javane

tangxininjava的专栏 1388

RK3588 部署 YOLO26 目标检测:PT → ONNX → RKNN 全流程

YOLO26n 在 RK3588 上 INT8 量化后 NPU 推理约 15ms,系统 FPS 约 55,可以覆盖边缘端实时检测需求。模型从 PT 到 RKNN 的转换要用opset=11避免算子兼容问题。先用 YOLO26n + 640 输入跑通全链路,确认推理结果正确后再做性能调优。

m0_64661770的博客 306

Java编程的终极导航:《Java核心技术》系列全面解读

在编程世界中,Java的位置无可替代,无论是企业级应用、移动应用开发,还是大数据处理,Java都扮演着重要的角色。对于刚刚踏入这个领域的新手来说,有一条清晰的路线图是非常必要的;而对于经验丰富的开发者而言,及时更新知识库、了解新技术同样重要。这时,`《Java核心技术 卷I:开发基础(原书第12版)》`与`《Java核心技术 卷II:高级特性(原书第12版)》`便是你的灯塔,为你的Java学习之旅指引方向

hacker707的博客 2万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

VB摄像头监控

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

<<java基础教程>>好多错误_<

<>好多错误[2021-02-16 01:05:16]简介:php去除nbsp的方法:首先创建一个PHP代码示例文件;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐:《PHP视频教java long占64位,因为一个字节等于8位,所以long占8字...

weixin_33910191的博客 126

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Java——正则表达式详解

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

吴声子夜歌的博客 2万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

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

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

繁依Fanyi的博客 1万+

<<Java语言程序设计>>进阶篇 Exercise22_3

import java.util.*; import java.io.*; public class Exercise22_3{ public static void main(String[] args){ if (args.length != 1){ System.out.println("usage: java file"); System

oGuangDian1的专栏 909

Java 核心技术专题

  什么是 Java 核心技术?

hzwinner的专栏 1606

Java 核心技术 卷Ⅱ

这一卷流库和I/O流还是很重要的,得看看。

菜鸟猿++ 1296

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

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

RL2698853114的博客 1311
上一篇: linux命令(shell)
下一篇: android开发环境配置
ProgramResearch
博客等级 码龄11年 0粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值