正则表达式(二)-- 匹配一组字符

正则表达式-匹配A和B之间字符串 需求:在匹配到 union的时候检测后面是不是union all ^是正则表达式匹配字符串开始位置 $是正则表达式匹配字符串结束位置 * (?!all) 的意思是 , 不匹配all * 那么((?!all).)* 的意思就是匹配 不含all的字符(?!all)跟 任意字符.的组合,出现任何次 * ((?!all).)* 的结果就是 匹配了不包含all的字符串 检验如下: im... 阅读详情

一、匹配多个字符中的某一个

正则表达式是区分大小写的,比如使用正则表达式cat可以匹配文本cat而不能匹配文本CAT,如果我们要匹配出含有文本cat的所有结果,而不关心它们大小写的问题,这是就要需要使用元字符'['和元字符']'来创建一个字符集合,[]方括号间的所有字符组成了字符集合,字符集合的匹配结果是能够与该集合的任意一个成员相匹配的文本。

例子:

文本:cat Cat CAT

正则表达式:cat

结果:cat Cat CAT


文本:cat Cat CAT

正则表达式:[Cc][Aa][Tt]

结果:cat Cat CAT

使用[Cc]便可以匹配C或者c的任意一个,一个单独的'[]'不管字符集合多大,只匹配一个字符。


二、使用字符集合区间

假如有这样的一份文本:包含很多三位数很其他的无关文本,而我们只想把这些三位数匹配出来,使用字符集合可以这样写[0123456789][0123456789][0123456789],但这样写过于繁琐,如果要匹配二十六个字母中的任一个大写字符,则字符集合里的字符个数将为26个,如果不区分大小写,将为52个,写起来非常繁琐,所以可以使用元字符'-'来 创造字符区间(0-9, a-z,A-Z等)来简化写法,如[0-9]=[0123456789],需要注意的是,字符区间的首字符要大于等于尾字符,[0-9]不可以写成[9-0],并且字符区间可以叠加, 比如[0-9a-z]=[0123456789abcdefghijklmnopqrstuvwxyz],,另外'-'也是一个特殊的元字符,在'['和‘]’之间时,'-'为元字符,但在之外的地方,‘-’只是一普通字符,匹配它不需要 用'\'转义。

例子:

文本:123 456 a21

正则表达式:[0-9][0-9][0-9]

结果:123 456 a21


文本:123 456 a21

正则表达式:[a-z][0-9][0-9]

结果:123 456 a21


三、取非匹配

使用字符集合(区间)可以来匹配集合(区间)中的任一字符,而有时我们想匹配除此字符集合(区间)以外的任意字符,这时就要使用元字符'^'来对字符集合(区间)进行取非操作。

文本:123 456 a21 &13

正则表达式:[^0-9][0-9][0-9]

结果:123 456 a21 &13

空格不在0-9之间,所以也被匹配了出来。

使用取非匹配需要注意的是,‘^’的效果将作用于给定字符集合里的所有字符或字符区间,而不是紧跟在'^'字符后面的哪一个字符或者字符区间。


四、匹配特定的字符类别

使用字符区间可以在一定程度上简化我们的操作,但是当要匹配的字符非常多时写起来也非常繁琐,这时我们就可以用一些特殊的元字符来匹配一些特殊的字符集合,比如\d=[0-9]=[0123456789],而将d大写成D,则代表着取非操作\D=[^0-9]。常见的特殊元字符如下:

元字符                                含义

   \d               任何一个数字字符,等价于[0-9]

   \D               任何一个非数字字符,等价于[^0-9]

   \w               任意一个字母(大小写均可),数字或下划线,等价于[a-zA-Z0-9_]

   \W              任意一个非字母数字或者非下划线,等价于[^a-zA-Z0-9_]

例子:

文本:1234 12345 a1b2c3 abcdef c2d3f2 a2d3ff

正则表达式:\w\d\w\d\w\d

结果:1234 12345 a1b2c3 abcdef c2d3f2 a2d3ff

正则表达式教程之匹配一组字符详解 本文实例讲述了正则表达式教程之匹配一组字符的方法。分享给大家供大家参考,具体如下: 注:在所有例子中正则表达式匹配结果包含在源文本中的【和】之间,有的例子会使用Java来实现,如果是java本身正则表达式的用法,会在相应的地方说明。所有java例子都在JDK1.6.0_13下测试通过。 一、匹配多个字符中的某一个 在上一篇《正则表达式教程之匹配单个字符详解》中的一个匹配以na或sa开头的文本文件例子中,使用的正则表达式是.a.\.txt。如果还有一个文件是cal.txt,那么也将会被匹配到。如果只想要匹配na或sa开头的文件,该怎么办呢? 既然只想找出n或s,使用可以匹配任何字符的.显然是不行 立即下载

相关推荐

实战:如何通过修改VTS和HTS调整GC4653 sensor帧率(附完整计算步骤)

本文以GC4653图像传感器为例,详细解析了通过修改VTS和HTS寄存器来精确调整输出帧率的完整流程。文章深入剖析了帧率计算公式FPS = PCLK / (VTS × HTS)的核心原理,并提供了从获取寄存器参数、计算目标VTS值到系统验证的实战步骤,帮助工程师掌握独立优化Sensor性能、提升低照度画质的关键技能。

gin88的博客 338

正则表达式必知必会 - 匹配一组字符

匹配一组字符

wzy0623的专栏 1669

麒麟V10 x86_64系统下Qt 5.12.7安装全攻略(附常见报错解决方案)

本文详细介绍了在麒麟V10 x86_64系统上安装Qt 5.12.7的完整流程,包括在线和离线两种安装方案,并提供了常见报错的解决方案。从环境准备到项目配置优化,再到高级调试技巧,全面覆盖Qt开发在国产操作系统上的实践要点,帮助开发者高效搭建开发环境。

weixin_29294395的博客 508

正则表达式(一)字符组

在线正则表达式测试工具:http://tool.oschina.net/regex/ 一、普通字符组 字符组(Character Class)是正则表达式最基本的结构之一。顾名思义,字符组就是一组字符,在正则表达式中,它表示”在同一个位置可能出现的各种字符”,其写法是在一对方括号[]之间列出所有可能出现的字符。简单的字符组比如[ab]、[123]等。 注意:因为正则表达式处理的都是”字符串“...

fanxiaobin 3571

Intel RealSense D435 深度相机详解

Intel RealSense D435 深度相机是 Intel 推出的一款基于深度感知技术的相机,广泛应用于机器人、无人机、增强现实(AR)、虚拟现实(VR)、3D扫描、智能监控等领域。D435 是 RealSense 系列中较为高端的深度相机之一,结合了深度传感和 RGB 摄像技术,为用户提供高精度的深度数据和高质量的图像捕捉能力。

crasher123的博客 2943

comsol移动网格_comsol模拟移动的纳秒脉冲激光烧蚀材料,温度场分布,结果总不理想,求助大佬!!...

本人comsol新手一枚,希望大家多多指点研究课题:纳秒脉冲激光刻蚀材料表面想用comsol模拟刻蚀过程中的温度场分布,脉宽为300ns,重复频率100kHz,光斑移动速度为5000mm/s,光斑直径50um,激光功率10W,材料种类为:有机涂层,属性如下目前,采用的是一个移动的高斯面光源x脉冲函数,脉冲函数我用的是一个周期性方波:周期性拓展后,画出来的脉冲图,不知道为什么在0~1s的区间内只有1...

weixin_33288893的博客 4740

正则表达式——匹配多个字符串之一

当需要匹配多个字符串其中之一时,如: 匹配abc|def两个字符串之一时使用非元组捕获语。 非元组捕获的语法为: (?:exp) 例如:要匹配字符串的格式为 数值+Imax 或者 数值+Ib 或者 Imax 或者 Ib 如匹配字符串Imax、Ib、1.0Ib、2Ib、1.0Imax、2Imax等格式,其正则表达式为: (?:\\d{1,}\\.{1,1}\\d{1,}|\\d{0,})(?:Ib|Imax) ...

天天进步一点点 5777

告别臃肿VS!仅用Visual Studio 2022 Build Tools为Qt 5.12.12配置MSVC2017开发环境

本文详细介绍了如何仅使用Visual Studio 2022 Build Tools为Qt 5.12.12配置MSVC2017开发环境,避免安装臃肿的完整VS。通过精准选择组件、配置Qt Creator编译器和优化Kit设置,实现高效、精简的Windows平台Qt开发环境搭建,特别适合追求性能和资源优化的开发者。

weixin_30340617的博客 350

正则匹配之正则匹配全部汇总:

实用的正则匹配大全,有需要可以进来看看哈

Remix_xy的博客 3万+

操作系统|知识梳理|复习(下)

操作系统复习

知识库搭建ing 1784

实操微信支付,适合第一次接通微信支付的同学

我的实际操作命令如下:就会生成图3中多出来的file文件夹,/Users/camel/cert/xxxxxx_cert/file/wechatpay_5A4xxxxxxxxxx9.pem,wechatpay_xxxxx5A4849E9.pem就是微信支付平台证书,也是程序真正需要的。•注意:我的操作说明,我是把下载好的 CertificateDownloader.jar 文件,放在了解压证书的目录里(图3)。//下面的静态参数要仔细看下面的解释,否则只会调用别人写好的方法,压根学不会0-1接入微信支付。

wjianwei666的专栏 525

正则表达式3——匹配一组字符

字符集合只能匹配特定的字符和字符区间 1、匹配多个指定字符中的某一个 可以使用元字符“[”和“]”来定义一个字符集合。在使用[和]定义的字符集合里,这两个元字符之间的所有字符都是该集合的组成部分, (1)字符集合的匹配结果是能够与该集合里的任意一个成员相匹配的文本。 例如:[ns]a.\.xls 匹配 na1.xls na2.xls sa1.xls sam.xls (2)字符集合一般用于...

weixin_30426879的博客 202

区块链技术概述:从比特币到Web3.0

区块链技术正重塑数字世界的信任机制。本文系统梳理了区块链的发展路径:从比特币的PoW共识和UTXO模型,到以太坊的智能合约和账户体系,直至Web3.0的去中心化互联网愿景。文章详细解析了区块链的核心特性(去中心化、不可篡改等)和数据结构,通过流程图展示了比特币交易生命周期和智能合约执行流程,并对比了Web2.0与Web3.0的关键差异。最后,用Python代码实现了包含区块类、交易处理和挖矿机制的简易区块链系统,为理解区块链底层原理提供了实践参考。

闲人编程的博客 455

正则表达式系列(二):匹配一组字符中任一字符

正则表达式系列(二):匹配一组字符中任一字符原文地址:正则表达式系列(二):匹配一组字符中任一字符

wwwcomcn123的专栏 533

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

正则表达式(一)字符串匹配

正则表达式介绍简单的模式字符匹配方括号 [ ]反斜杠 \特殊字符重复的事情元字符 *元字符 +元字符 ?元字符 {m,n} 正则表达式(Regular expressions 也称为 REs,或 regexes 或 regex patterns),本质上是一个微小的且高度专业化的编程语言。 它被嵌入到 Python 中,并通过 re 模块提供给程序猿使用。 使用正则表达式,你需要指定一些...

花果山的和尚的博客 7万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【正则表达式】字符串模式匹配,提高开发效率

前言 今天我们来学习正则表达式,正则表达式的应用十分广泛,几乎每个涉及到交互的项目都会用到的,学会正则表达式之后会让你除了提高效率外,会给你带来绝对的成就感。 接下来我们正式开始! 目录前言什么是正则表达式字符范围匹配元字符多次重复匹配定位匹配贪婪模式与非贪婪模式表达式分组结合JavaScript练习正则表达式结语 什么是正则表达式 正则表达式是检查、匹配字符串的表达式 正则表达式用来描述某种规则,同时它不是某种语言专有的技术,它对主流的语言都有良好的支持。 正则表达式的主要使用场景是:字符串检验,查找

apple_51673523的博客 9477

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【正则表达式】字符匹配篇

之前是写在另一个平台,但更新的断断续续,这次打算回炉重造,整理一波。 1.创建正则表达式 两种方式: 字面量:由斜杠包围而不是引号包围 构造函数的字符串参数:由引号而不是斜杠包围 // 使用正则表达字面量 var regex = /ab+c/; // 使用RegExp对象的构造函数 var regex = new RegExp("ab+c"); 2.正则匹配 正则表达式的精髓,主要在与它的模糊。先来看一个基础小例子: var regex = /hello/; console.log(..

流萤梦的博客 3万+

3、匹配一组字符

在本章里,你将学习如何与字符集合打交道。与可以匹配任意单个字符的.字符(参见第2章)不同,字符集合能匹配特定的字符和字符区间。

qq_43580742的博客 691

03、匹配一组字符(Python)

正则表达式匹配一组字符。

qq_40734247的博客 710

正则表达式学习(五)匹配一组字符

PS:在所有例子中正则表达式匹配结果包含在源文本中的【和】之间,有的例子会使用java来实现,如果是java本身正则表达式的用法,会在相应的地方说明。所有java例子都在JDK1.6.0_13下测试通过。   一、匹配多个字符中的某一个          在上一篇中的一个匹配以na或sa开头的文本文件例子中,使用的正则表达式是.a.\.txt。如果还有一个文件是cal.txt,那么也将会被匹

痴人说梦 4545

【正则表达式入门】开篇 - 匹配单个、任意、以及一组字符

正则表达式的快速入门,如何简单使用,如何理解正则表达式的含义,看本文即可快速了解。

时间进行的小宇的博客 1663

JS正则表达式字符匹配

正则表达式字符匹配 这是阅读《JavaScript正则表达式迷你书》后整理的一些笔记。 正则表达式是匹配模式,可以匹配字符,可以匹配位置。 下面主要介绍匹配字符的情况,匹配位置的情况我也正在学习中。 两种模糊匹配: 1.横向模糊匹配:一个正则可匹配的字符串的长度不是固定的。其实现方式是使用量词。比如说{m,n}是指字符最少连续出现m次,最多n次。 如/ab{2,5}c/ 表示匹配这样一个字符串:第一个字符是 “a”,接下来是 2 到 5 个字符 “b”,最后是字符 “c”。 例如:(大家可以手动试一下,想想

weixin_43966538的博客 1万+

二、正则表达式:匹配单个字符

二、正则表达式:匹配单个字符 1、 . 可以匹配任意单个字符(包括空字符、数字、字母、下划线、特殊符号,除了\n之外) 注意:".+",可以匹配任意一个或多个字符,但是空字符不能,会报错 ret = re.match(r".+","速度与激情5") # 可以匹配,不会报错 ret.group() ret = re.match(r".+","") # 不能匹配,会报错 ret.group(...

Jacky_kplin的博客 5264

Java正则表达式一:字符匹配(根据匹配规则挨个匹配原字符串中的字符)

检查字符串的规则,比如是不是以字母开头,长度是否超过八位,是否包括大写字母等等…… 可以采用传统的Java代码(或JavaScript代码)来进行挨个判断处理,但会很低效。为了解决这类问题,正则表达式是一个很好的工具,Java提供了对正则表达式这个工具的支持。 正则表达式是一种规则,不隶属于任何一种语言。 正则表达式案例: 目录 一:单个字符的匹配 1.精准匹配单个字符 2.分别单独匹配两个字符 3.分别单独匹配字符集合 4.分别单独匹配某个范围内的字符 5.不希望出现某些字符。

小枯林的博客 1万+

正则表达式的位置,字符匹配

正则表达式 ↓↓↓↓↓↓↓↓↓直接预览目录中图片版笔记即可 目录正则表达式图片版笔记1 两种模糊匹配1.1 横向模糊匹配1.2 纵向模糊匹配第二章 正则表达式位置匹配攻略1.什么是位置呢?2.如何匹配位置呢?2.2 \b和\B2.3 (?=p)和(?!p) ↑ ↑ ↑ ↑ ↑ ↑直接预览目录中图片版笔记即可 来自 https://juejin.cn/post/6844903487155732494 图片版笔记 正则表达式是匹配模式,要么匹配字符,要么匹配位置。 第一章 正则表达式字符匹配攻略 1 两种模糊

weixin_44100002的博客 2494

JS正则表达式完全匹配字符

js中 RegExp 对象使用 test() 来匹配正则表达式时,只要有子字符串能够匹配成功就会返回 true。 如果要当正则表达式完全匹配整个字符串时 test() 才返回true的话,可以在正则表达式的开头加入^ (表示开头),结尾加入$(表示结尾)。 var reg1 = /12345678/; var reg2 = /^12345678$/; ​ var test1 = "12345678"; var test2 = "0123456789"; ​ console.log(reg1.test(

spicyChickenJZ 2万+
上一篇: 使用栈实现表达式求值
下一篇: 正则表达式(三)-- 重复匹配
BestFSQ
博客等级 码龄10年 24粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值