正则表达式基础

掌握正则表达式:从基础到实用示例 本文介绍了正则表达式在Java编程中的基本概念和应用。首先,简要解释了正则表达式的语法规则,随后通过具体示例展示了如何在Java中使用正则表达式进行模式匹配、字符串替换和数据验证。通过理解和掌握正则表达式,开发者可以高效地处理复杂的字符串操作,提高代码的灵活性和可读性。希望本文能为读者提供有价值的参考,助力在实际开发中更好地利用正则表达式。 阅读详情

匹配符号

^ $ . \d \D \S \s x|y

限制符

限定符定义了一个元素可以发生的频率。

  • {X} {X,Y} +
  • ?

如果 ? 是限定符 * 或 + 或 ? 或 {} 后面的第一个字符,那么表示非贪婪模式(尽可能少的匹配字符),而不是默认的贪婪模式

常用组合

([\s\S]*) 任意字符

示例代码

下面这段代码演示切割一段字符并组装成 map

        HashMap map = new HashMap();
        Pattern videoPattern = Pattern.compile("Video (Sending|Receiving) Stats:\r\n([\\s\\S]*)");
        Matcher videoMatcher = videoPattern.matcher(partPString);
        if (videoMatcher.find()) {
            videoMatcher.group(1).trim();
            HashMap videoMap = (HashMap) split2Map(videoMatcher.group(2).trim());
            if (TextUtils.equals(videoMatcher.group(1).trim(), "Sending")) {
                map.put("videoCaptureFr", videoMap.get("Capture Fr"));
                map.put("videoFPS/IDR", videoMap.get("FPS/IDR"));
                map.put("videoBitrate/Setrate", videoMap.get("Bitrate/Setrate"));
                map.put("videoQP", videoMap.get("QP"));
                map.put("videoFecPrecent", videoMap.get("FecPrecent"));
            } else {
                map.put("videoFPS/IDR", videoMap.get("FPS/FIR"));
                map.put("videoRenderFR", videoMap.get("Render FR"));
                map.put("videoPvMos", videoMap.get("PvMos"));
            }
            map.put("videoPackets", videoMap.get("Packets"));
            map.put("videoResolution", videoMap.get("Resolution"));
            map.put("videoBitrate/Setrate", videoMap.get("Bitrate/Setrate"));
        } else {
            Log.d(TAG, "Video no match");
        }
}

按照/r/n 将字符拆分成map

    private Map split2Map(String statistic) {
        HashMap<String, String> map = new HashMap();
        String[] separated = statistic.split("\r\n");
        for (int i = 0; i < separated.length; i++) {
            String[] s = separated[i].split(":");
            try {
                if (s.length <= 1) {
                    map.put(s[0], "");
                } else {
                    map.put(s[0].trim(), s[1].trim());
                }
            } catch (ArrayIndexOutOfBoundsException exception) {

            }
        }
        return map;
    }

参考文章

http://tool.oschina.net/uploads/apidocs/jquery/regexp.html

TOPSIS+熵权法组合拳:5分钟学会供应商选择决策模型 本文详细介绍了如何运用TOPSIS和熵权法这对黄金组合,快速构建科学、客观的供应商评估决策模型。通过数据标准化、权重计算和综合排序,帮助企业在半小时内完成高效、准确的供应商选择,解决传统主观打分法的弊端,提升供应链管理效率。 阅读详情

相关推荐

从仿真到流片:手把手教你优化65nm CMOS电荷泵的电流匹配与稳定性

本文详细介绍了在65nm CMOS工艺下优化电荷泵电流匹配与稳定性的工程实践指南。通过蒙特卡洛仿真、运放反馈结构版图技巧和全差分结构设计,实现优于1%的电流匹配精度和±2%以内的电流稳定性,特别针对current mismatch问题提供了有效的解决方案。

weixin_42522320的博客 415

正则表达式基础语法大全

正则表达式基础语法 1.普通字符: 字母、数字、汉子、下划线、以及没有特殊定义的标点符号,都是“普通字符”。表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符。 2.简单的转义字符: 3.标准字符集合: - 能够与'多种字符' 匹配的表达式 - 注意区分大小写,大写是相反的意思 4.自定义字符集合: -[ ]方括号匹配方式,能够匹配方括号中任意一个字符 例如:[2-8a...

大学生小汪的成长博客 6万+

详解从无人机倾斜实景三维建模→模型修复→成果网络发布展示分享全流程

1、倾斜实景三维建模软件:CC(Smart3D)软件2、实景三维模型网页在线发布展示、分享平台:图新地球网页端(Wish3D·Earth平台)图新地球网页端(Wish3D·Earth平台)是基于 WebGL技术研发的国产实景三维模型Web端发布展示平台,可实现TB级倾斜实景三维数据快速加载,支持多种格式的三维模型,如OSGB实景模型、OBJ人工模型、SKP人工模型、RVT格式BIM模型等,同时支持模型单体化、三维模型测量分析、水面特效、日照分析等特殊效果呈现,此外也可以根据您的需要进行本地化部署级功能定制。

GISWorld3D的博客 4375

正则表达式的基础使用

正则表达式的基础使用 开发工具和关键技术:Adobe Dreamweaver CC 2017、弹性布局 作者:袁何恩 撰写时间:2019年2月20日 今天,和大家分享的技术是正则表达式的基础使用。 正则表达式在我现在的所学知识的理解下是对字符串筛选的方式,把得到的字符串通过正则表达式的条件,匹配出自己想要的字符串。就像是找规律一样。 现在给大家介绍正则表达式的基础代码。 正则表达式的代码有很多,我...

weixin_44561769的博客 201

Android开发中StateFlow与LiveData的5个关键区别及实战避坑指南

本文深度解析了Android开发中StateFlow与LiveData的5个核心区别,包括设计哲学、生命周期管理、值更新策略、线程模型及协程生态整合。通过实战代码对比,为开发者在现代MVVM架构下的状态管理选型提供清晰的决策指南和避坑建议,帮助构建更健壮、可测试的应用。

weixin_29012677的博客 402

DEMATEL-ISM模型的Python实现——方法介绍以及代码复现

本文参考文献与网络资料,对DEMATEL-ISM方法做了介绍何步骤描述,并给出Python代码进行了计算和绘图。

cros1的博客 2万+

shell编程之正则表达式——理论基础

目录前言一、 前言 正则表达式,又称规则表达式(Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑 sed是文本处理工具,可以读取文本内容,根据指定条件对数据进行添加,删除,替换等操作,被广泛应用于shell脚本 awk是

qq_48191100的博客 299

linux系统下XDMA驱动的安装与测试问题总结

先看两个常见的问题。一个是驱动安装问题,一个是驱动测试错误;error 512 能识别PCIE的设备,但是The kernel modle installed correctly, but no devices were recognized.

whm128的博客 3799

shell编程--正则表达式(基础正则表达式grep、扩展正则表达式egrep)

文章目录

kimowinter的博客 1108

已解决“TimeouEror [WinEror 10060由于连接方在一段时间后没有正确答复 或连接的主机没有反应,连接尝试失败“,亲测有效!!!

已解决"TimeouEror [WinEror 10060由于连接方在一段时间后没有正确答复 或连接的主机没有反应,连接尝试失败",亲测有效!!!

wbajsjhhhhh的博客 1万+

YOLOv26全流程实战手册:从yaml配置拆解到训练推理参数调优(附虚拟环境搭建)

以“车辆、行人、小型物体”3类数据集为例,修改# 1. 修改类别数nc: 3# 2. 调整锚框(适配小目标)anchors:- [12,16, 16,24, 33,23] # 增加小锚框# 3. 轻量化调整(边缘部署)depth_multiple: 0.25 # 降低深度系数width_multiple: 0.20 # 降低宽度系数# 其余Backbone/Head结构不变yaml配置:核心是调整nc(类别数)、(轻量化)、anchors(适配目标尺度);虚拟环境。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 877

正则表达式详解:从基础到扩展的全面指南

正则表达式详解:从基础到扩展 正则表达式是用于描述字符匹配模式的语法规则,广泛应用于Linux文本处理工具(如grep、sed、awk)中。本文系统讲解了正则表达式的概念、基础正则(BRE)和扩展正则(ERE)的核心元字符及用法。 基础正则支持的核心元字符包括行首/行尾锚定(^/$)、任意字符(.)、重复匹配(*/{n})和字符组([])等。扩展正则在此基础上增加了+、?、()、|等元字符,简化了复杂模式的编写。此外还介绍了特殊字符组(如[[:digit:]])的用法,用于简化常用字符范围的匹配。 通过实际

Sadsvit的博客 1017

YOLOv11改进 | 检测头篇 | 利用动态蛇形卷积DySnakeConv改进yolov11分割检测头(全网独家首发,Segment)

本文给大家带来的最新改进机制是一种我进行优化的专用于分割的检测头,在分割的过程中,最困难的无非就是边缘的检测,动态蛇形卷积(Dynamic Snake Convolution)通过自适应地聚焦于细长和迂回的局部结构,准确地捕捉管状结构的特征。这种卷积方法的核心思想是,通过动态形状的卷积核来增强感知能力,针对管状结构的特征提取进行优化,所以将这个卷积针对于YOLOv11的分割头进行融合是非常合适的,当然本文的检测头也支持用于目标检测,但是我将其设计出来是主要为了分割的读者使用的。

Snu77的博客 3428

正则表达式: 从基础到进阶的语法指南

在编程和文本处理领域,正则表达式是一种描述文本模式的强大工具。无论是验证用户输入、提取文本信息,还是替换特定字符串,正则表达式都能高效完成任务。掌握正则表达式的语法,能让开发者在处理文本数据时如虎添翼。本文我将从基础语法入手,逐步深入到进阶用法,结合丰富的代码示例,带你全面掌握正则表达式的核心语法。

aa_hdkf_vg的博客 1723

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

正则表达式基础学习

正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),可以用来描述和匹配字符串的特定模式。

Reset 2066

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

图解总结正则表达式基础

下图总结了正则表达式的基础知识,可以用于python爬虫、数据库查找等方面的应用。

weixin_41855010的博客 1444

【JS】JavaScript正则表达式基础

目录一、正则表达式二、字符串使用正则表达式三、常用例子 一、正则表达式 关于正则表达式,我在另一篇博客记录过:正则表达式 二、字符串使用正则表达式 三、常用例子

小绵杨 2208

正则表达式(基础篇)

目录一、正则表达式的概念 一、正则表达式的概念 正则表达式(Regular Expression,常简写为RegExp或RE),又称规则表达式,通常用来检索、替换那些符合某个模式(规则)的文本。 正则表达式是为字符串处理而生的, ...

夕山雨的博客 1万+

正则表达式从基础学起

[编辑本段]一、什么是正则表达式   一个正则表达式,就是用某种模式去匹配一类字符串的一个公式。很多人因为它们看上去比较古怪而且复杂所以不敢去使用——很不幸,这篇文章也不能够改变这一点,不过,经过一点点练习之后我就开始觉得这些复杂的表达式其实写起来还是相当简单的,而且,一旦你弄懂它们,你就能把数小时辛苦而且易错的文本处理工作压缩在几分钟(甚至几秒钟)内完成。正则表达式被各种文本编辑软件、类库(例...

夜 雨 410

Shell 编程 —— 基础正则表达式

CentOS笔记(三十六)

Jia ming 的日常学习笔记 415

Linux学习之基础正则表达式及grep

正则表达式是通过一些特殊的字符的排列,用以查找、替换、删除一行或多行文字字符串。正则表达式并不是一个工具程序,而是一种字符处理的标准依据,如果想要使用表达式的方式处理字符串,就得使用支持正则表达式的工具程序才行,这类的工具程序很多,例如vi,sed,awk等。简单来说,正则表达式就是处理字符的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易达到查找、删除、替换某特定字符串的处理程序。同时,。本篇文章主要讲的是基础正则表达式,其余内容会在接下来的文章进行讲解。

m0_65292176的博客 217

python 正则表达式相关基础和方法

其中,要获取匹配值的起始位置可以使用match对象的smart()方法,要获取匹配的结束位置可以使用end()方法;上面的正则表达式用于匹配以字母mr开头的单词,先是从某个单词开始处(\b),然后匹配字母mr,接着是任意数量的字母或数字(\w*),最后是单词结束处(\b)。对于接触过DOS的用户,如果想匹配当前文件夹下所有的文本文件,可以输入‘dir*.txt’命令,按‘enter’键后,所有‘.txt’ 文件将会被列出来。count:可选参数,表示模式匹配后替换的最大参数,默认为0,表示替换所有的匹配。

Z13906903759的博客 1092
上一篇: Presentation 双屏异显
下一篇: 搜索字体高亮控件
Nela
博客等级 码龄11年 9粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值