正则表达式的语法

C#正则表达式的基本语法 正则表达式的匹配模式由一系列数字、文字、运算符、字符等的字符组成,根据自己需求设计对应的模式,实现分析、匹配的操作。本文将对正则表达式组成语法进行讲解。 阅读详情

 正则表达式是验证输入、从输入中提取数据以及对输入进行搜索和替换的强大工具,所谓正则表达式,regexp是一种利用模式匹配语言来描述字符串组成限制条件的方式;

       Qt 提供了一个QRegExp类,它实现了Perl风格的扩展正则表达式语言的大部分功能:

    正则表达式是一个字符的序列;

1):特殊字符

  •    . (匹配任何字符)
  •   \n (匹配换行符)
  •   \f (匹配换页符)
  •   \xhhhh(匹配一个unicode字符,其对应的码值是范围0x0000到0xFFFF之间的一个十六进制数hhhh)

2)量词:

  •    + (出现1此或者更多次)
  •    ?(出现0次 或者 1 次)
  •    * (出现0次 或者 更多次) 
  •    {i,j} (出现至少i次 但是不超过j次)

3)字符集  ---- 在匹配表达式指定位置允许出现的字符集合,其中还预定义了几个字符集合:

  •    \s (匹配任何 空白字符)
  •    \S (匹配任何 非空白字符)
  •    \d (匹配任何 数字字符: 从‘0’ 到 ‘9’ )
  •    \D (匹配任何 非数字字符)
  •    \w (匹配任何"单词"字符,也就是任意的字母、数字或者下划线)
  •    \W (匹配任意的非单词字符)

字符集也可以使用方括号指定:

  • [ABCES] (匹配这五个字符中的任意一个)
  • [a-g]   (匹配a-g中任意一个字符)
  • [^xyz]  (匹配任何除这三个字符以外的字符)

4)分组 和捕获字符 --- () 可以用来把字符划分成组的特殊字符,字符组可以是向后引用的。也就是说,如果存在一个匹配,那么分组了的值可以通过各种方式捕获和访问;

   一般一个正则表达式最多可以引用9个分组,即\1到\9这样的修饰;

 此外还有一个QRegExp成员函数cap(int nth),它返回第n个分组(基于QString的形式返回).

 

5)锚点字符 --- 确定尝试进行匹配操作的边界

  •   脱字符(^)   如果是正则表达式中的第一个字符,则说明匹配过程从字符串的开头处开始,
  •   美元符($)  如果是正则表达式中最后一个字符,则表明匹配过程直到字符串的结尾才会结束;
  •   单词边界 \b      非单词边界\B

 

 

 

 

例子:

c*at    c出现零次或者多次,at紧跟其后;例如 at,cat,ccat等;

c?at    c出现零次或者1次,之后紧跟着at:仅at或者 at;

c.t     c之后紧跟任意字符,其后面又紧跟t的字符匹配,例如cat,cot等等;

c.*t    字符c后边紧跟0个或者多个任意字符,然后紧跟t,例如 ct,caaatt, casdasdt等等

ca+t    '+'意味着前面的字符可以出现一次或者多次,因此符合条件的有cat,caat,caaat等等

c\.\*t  反斜线在特殊字符之前将会"使其转义",因此,只有字符串"c.*t"才能匹配;;

c\\\.t  只和字符串"\c.t"匹配;

c[0-9a-c]+z  c 与 z 之间可以出现[]中的任意字符,+ 表示出现1+ 最少1次

the (cat | dog) ate (fish|mouse) (轮流交替)匹配的结果是 四次;; 不断变换 the cat ate fish ;

                   the dog ate mouse; --------

\w+        字母数字(单词字符)的序列,与【a-zA-Z0-9】+等价

\W         非单词字符(标点符号/空白符号等)

\s{5}      正好5个空白字符(制表符,空白符或者换行符)

^\s+       匹配字符串开头处的一个或者多个空白字符

\s+$       匹配字符串结尾处的一个或者多个空白字符

^Help      如果Help出现在字符串的开头,就匹配它;

[^Help]    与字符串中任意地方(和元字符^的意思不一样)的除单词Help中任一字母之外的任何单个字符相匹配

\S{1,5}    至少1个、至多5个非空白字符(可打印的字符)

\d         一个数字[0-9](\D是一个非数字,也就是[^-0-9])

\d{3}-\d{4}7位电话号码: 3位-四位

\bm{A-Z}\w+ \b代表单词边界:mBuffer匹配而StreamBuffer不匹配;

【正则表达式】 正则表达式有哪些语法? 正则表达式语法通过元字符(.匹配任意字符、\d匹配数字)、量词(*(0次+)、+(1次+)、{n,m}(次数控制))和定位符(^行首、$行尾、\b单词边界)构建动态文本模式。核心规则包括:字符类[a-z]限定范围,[^abc]排除字符;贪婪与非贪婪模式(如<.*>匹配全标签,<.*?>仅匹配开标签);分组捕获(exp)存储子匹配并通过\1反向引用(如检测重复单词);零宽断言(?=exp)实现条件匹配。该语法支持高效文本提取(如拆分URI协议/路径)及复杂模式验证,以单行代码完成高级文本操作。 阅读详情

相关推荐

Silvaco Atlas(五)——物理模型总结

物理模型总结

qsz1425AWD2121的博客 2152

Qt:正则表达式语法:

正则表达式是验证输入、从输入中提取数据以及对输入进行搜索和替换的强大工具,所谓正则表达式,regexp是一种利用模式匹配语言来描述字符串组成限制条件的方式; Qt 提供了一个QRegExp类,它实现了Perl风格的扩展正则表达式语言的大部分功能: 正则表达式是一个字符的序列; 1):特殊字符 . (匹配任何字符) \n (匹配换行符...

326

SAP OBYC自动过账全解析:从BSX到WRX的会计科目配置指南

本文深入解析SAP OBYC自动过账功能,从BSX到WRX的会计科目配置全流程,涵盖评估分组代码、事务码和评估类等核心概念。通过实战案例展示如何实现库存变动到财务过账的自动化流转,提升企业财务数据的准确性和效率。

weixin_29239279的博客 421

常用的正则表达式,限制输入框输入

onkeyup="value=value.replace(/[^\d]/g,'')"  限制文本框 输入  只能输入数字  各式各样的正则表达式参考大全(访问正则表达式实例库):  ^\d+$  //匹配非负整数(正整数 + 0)   //匹配整数 ^\d+(\.\d+)?$  //匹配非负浮点数(正浮点数 + 0)  ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9

Sometimes_Ymc的博客 2810

AutoLISP 学习 (一)

AutoLISP基本语法结构、语法 以括号组成表达式,左右括号一定要成对,单、双引号也要成对,例如: (defun c:hello() (princ "\nHello world!") (prin1) ) 表达式格式:(函数名 操作数 操作数 …),例如: (setq p1 (list 0 0)) (setq p2 (list 10 10)) (setq p3 (list 20 20)) ;;; CAD中画直线,经过p1 p2 p3 (command "LINE" p1 p2 p3 ""

m0_54575622的博客 2123

保姆级教程:用ncnn把自训练的YOLOv8模型塞进Android App(附完整代码)

本文提供了一份详细的保姆级教程,指导开发者如何将自训练的YOLOv8模型通过ncnn框架部署到Android应用中。教程涵盖环境配置、模型训练与转换、Android工程集成及性能优化等全流程,并附完整代码实现,帮助开发者快速掌握移动端AI模型部署技术。

weixin_42659194的博客 256

正则 数字长度不大于位数字_正则表达式使用

正则表达式是文本搜索的一个利器,掌握它定会提高你的工作效率。要使用正则表达式就必须知道有哪些元字符以及它们所代表的意义,这里我就不再对每个元字符做说明了,假设你已经了解了这些知识,如果还不了解可以参考网上的一些资料。以下所有示例用的是一个在线的正则表达式测试工具来验证的,地址是 https://tool.oschina.net/regex/1、匹配指定数量字符比如11位的手机号:[0-9]{11}...

weixin_39755218的博客 2662

SAP RAP学习系列合集介绍

《SAP RAP学习系列合集:从入门到部署的完整指南》摘要: 本文介绍了作者创建的SAP RAP学习系列合集,涵盖RAP开发从基础概念到实战部署的全流程。系列目前包含17篇文章,系统讲解了RAP核心开发技术:从数据建模、UI构建到行为定义(包括并发控制、草稿功能、授权验证等),最后详细演示了应用部署到Fiori Launchpad的两种方案(OP版和ES版)。

DeveloperMrMeng的博客 1494

正则表达式截取指定范围字符_Python正则表达式:字符集、限制范围和否定

1.字符集虽然句点可以匹配任意符号,但是如果需要匹配某些特定字符,可以使用方括号([])。方括号的正则表达式能够匹配方括号内包含的任意字符。下列为一些示例:正则表达式1:b[aeiu]其匹配的字符串是bat、bet、bit、but正则表达式2:[er][23][dp][o2]其匹配是一个包含四个字符的字符串,第一个字符是c或者r,然后是2或3,后面是d或者p,最后要么是o要么是2,例如e3do、r...

weixin_42513928的博客 1354

不会路由器叠加多条宽带?看这个就够了,能让你的局域网速度更快!

通常我们在企业网络或实际项目中,随着用户的增加,一条或者几条带宽不能满足正常使用,便可以对带宽进行叠加,便于网络带度更快;通常家里有可能有两条带宽的,联通或移动的,可能都是充话费送的,但网速都不怎么样,不用可惜,用之委屈,那怎么办呢?如在迅雷上开启下载,多个资源同时下载,此时总带宽可以达到120M,也就是WAN口带宽可以叠加。多wan口路由器, 一般是有2个wan口,分别为wan1与wan2。当然也有更多的wan口的。[1] 对整个局域网来说,出口带宽数量多了,相当于总带宽上升,这样是可以起到叠加效果。

qq_43416206的博客 1113

CloudCompare 二次开发(41)——点云重建三维凸包并计算体积

本文介绍了如何结合PCL与CloudCompare实现点云三维凸包的构建与可视化。通过代码集成,在CloudCompare界面添加功能按钮,实现点云数据转换、凸包构建、体积计算以及可视化显示。具体步骤包括:1) 在UI中添加功能按钮;2) 将点云数据转换为PCL格式;3) 使用PCL的ConvexHull算法构建三维凸包;4) 计算并显示凸包体积;5) 将结果以点云和网格形式可视化显示。最终实现了点云凸包的自动构建与体积计算功能,为点云处理提供了实用工具。

点云侠的博客 194

限定输入范围的用户输入框-要限制用户输入的字符范围

限定输入范围的用户输入框-要限制用户输入的字符范围,不然就会出现用户输入了一些不允许的字符,从而导致了系统出现错误的情况。 一般案例: 邮箱:只能输入大小写字母,数字,@,.等字符。其他字符(、|,/,?&amp;,%$)等等都不能输入。 手机号:只能输入数字0-9 身份证号码:只能输入数字,大小写字母。其他的不允许输入。 统一社会信用代码:只能输入数字,大小写字母。其他的不允许输入。 解...

y41992910的博客 4001

大厂面试:字节跳动大数据面试题及参考答案(10万字长文及多张原理图持续更新)

在 Spark 中,宽窄依赖是用来描述 RDD(弹性分布式数据集)之间的依赖关系的概念。窄依赖是指父 RDD 的每个分区最多被一个子 RDD 的分区使用,即子 RDD 的分区可以通过确定的规则从父 RDD 的分区计算得到,并且不需要跨节点进行数据传输。窄依赖通常可以在一个节点上进行计算,不需要进行数据的 shuffle 操作,因此性能较高。宽依赖是指父 RDD 的一个分区可能被多个子 RDD 的分区使用,即子 RDD 的分区需要通过跨节点的数据 shuffle 操作从父 RDD 的多个分区获取数据。

大模型大数据攻城狮的专栏 1652

正则表达式基础语法大全

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

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

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C++正则表达式语法

在C++中,正则表达式是处理文本模式匹配和字符串操作的强大工具。C++11及以后的标准库提供了。头文件,支持正则表达式的使用。通过掌握这些规则,您可以在C++中灵活使用正则表达式处理各种文本匹配问题。避免了对反斜杠的双重转义,使正则表达式更易读。转义(在C++字符串中需用双反斜杠。定义捕获组,可以提取匹配的子串。具有特殊含义的字符,需用反斜杠。C++11引入的原始字符串语法。用于表示一个正则表达式对象。

weixin_45524582的博客 954

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

正则表达式(语法大全)

正则表达式语法大全,忘了多久写的了。。。。

Jeromeyoung 4万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

正则表达式语法及例子

正则表达式的语法规则 一、行定位符(^和$)   行定位符就是用来描述字串的边界。“^”表示行的开始;“$”表示行的结尾。如:   ^tm :该表达式表示要匹配字串tm的开始位置是行头,如tmequalTomorrowMoon就可以匹配   tm$ :该表达式表示要匹配字串tm的位置是行尾,Tomorrow Moon equal tm匹配。   如果要匹配的字串可以出现在字符串...

whalefall 1万+

【正则表达式】{1} ——正则表达式的语法

参考资料:Python网络爬虫与信息提取(北京理工大学慕课) 正则表达式的语法: 正则表达式语法由字符和操作符构成 正则表达式的常用操作符: 操作符 说明 实例 . 表示任何单个字符 [ ] 字符集,对单个字符给出取值范围 [abc]表示a、b、c,[a-z]表示a到z单个字符 [^ ] 非字符集,对单个字符给出排除范围 [^abc]表示非a或b或c的单个字符 ...

Giyn 4784

正则表达式语法

正则表达式 文章目录正则表达式基本语法常见正则表达式大全一、数值校验表达式二、字符与字符串校验表达式三、特殊需求表达式 基本语法 字符 说明 \ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n"匹配字符"n”。"\n"匹配换行符。序列"\\“匹配”\","\(“匹配”("。 ^ 匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与"\n"或"\r"之后的位置匹配。 $ 匹配输入字符串结尾的位置。如果设置了 RegExp

qq_45570058的博客 2557

[编程相关]正则表达式Regex语法

本文详细讲述了正则表达式的搜索以及替换语法,最后测试了一下正则表达式的性能。

Blue_carrot_的博客 1358

正则表达式语法解析

正则表达式由一系列字符和特殊符号(即元字符)组成,能够高效地解决各种复杂的文本处理任务。

2441

Tcl正则表达式的语法

Tcl正则表达式的语法

荣耀之路 1万+

正则表达式基本语法

正则表达式是很多前端小伙伴必学的,在遇到需要用正则校验数据时,往往是在网上去找很久,这样一来浪费了不少时间,下面先来看一下正则表达式的一些基本语法(转)吧 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。串行“\”匹配“\”而“(”则匹配“(”。 ^ 匹配输入字符串的开始位置...

没有感情的代码机器的博客 290

《快速掌握正则表达式》用【用例】讲解语法,理解更加透彻

正则表达式是一种用于匹配字符串模式的通用语法,广泛应用于编程语言和工具中。它可用于表单校验(如手机号、邮箱、身份证号)、字符串查找替换等场景。基本语法包括字符类匹配(如\d表示数字)、位置边界匹配(如^匹配开头)、量词(如+表示1次或多次)以及分组捕获(用()创建组并通过\n引用)。例如,正则表达式可轻松实现日期格式转换(年-月-日变为日-月-年)。掌握正则表达式能显著提升文本处理效率。

pbrush的博客 1936
上一篇: 基于STM32F407 HAL库的Flash编程操作
下一篇: IAR中设置了中断向量偏移时进行仿真的注意事项
首飞爱玩机器人
博客等级 码龄14年 6990粉丝 120原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值