正则表达式与扩展正则表达式

6、正则表达式:基础与扩展全解析 本文深入解析了正则表达式的基础知识与扩展功能,对比了正则表达式与shell模式的区别,探讨了其在文本处理中的实际应用,包括数据验证、文本替换和数据提取等场景。同时提供了性能优化建议和实践示例,帮助读者更好地掌握这一强大工具。 阅读详情

最近用到sed时,用正则表达式总是出错
后来了解到sed是基础的正则表达式,而我用的扩展正则表达式以及正则表达式的扩展,很容易混淆,选择记录一下

BRE: basic regrular expression
ERE: extended regrular expression

BREERE含义
^$^$行首行尾
**大于等于0次
&&引用匹配的内容
无+大于等于1次
无?非贪婪匹配, 大于等于0次
无|或者
[..][..]可选
\{n,m\}{n,m}匹配n到m处
\ ( \ )()bre是后向引用,只有\1到\9,ere是分组

注意

  • 三种括号只有[]有点不同, 以上都是转义的意义,如果要匹配括号, 对应加上\或去掉\
  • 在[] 中 全部不需要转义
  • 如果要可选], 则将]置于最前 ,比如 []ab4],
  • 要可选-, 由于-在[]中表示连续的,比如1-9表示1至9,所以也是置于最前面, 比如[-a3]
  • 若两者都有,-,[, 则 []d3kj-]

posix字符集

形如[:alnum:]
alpha, lower upper, blank(空格与制表符) space(空白) graph
cntrl控制符 print 可显示字符 punct 标点 xdigit(十六进制) digit

正则表达式的扩展

  • \w : 字母数字 对应大写是非 \W 非字母数字
  • \b: 空白 \B
  • \<,> : 单词的首尾

最后放上常用的程序用到的正则表达式类型

这里写图片描述

注意:

  • grep -E 等同于 egrep用的(ERE)
  • grep -F 等同于 fgrep速度快,不能用正则
23、扩展正则表达式与目录结构及设备详解 本文详细介绍了扩展正则表达式(ERE)的特殊字符及其使用规则,包括匹配多个字符、交替与优先级、锚定机制等内容。同时,文章还解析了系统目录结构及设备文件的功能,如根目录、/dev目录下的特殊文件,并结合正则表达式展示了在文件查找、输入验证和输出重定向中的实际应用。最后,文章总结了使用正则表达式和目录操作的注意事项及最佳实践。 阅读详情

相关推荐

29、布尔矩阵根计算复杂度与扩展正则表达式匹配算法

本文探讨了布尔矩阵根计算复杂度与扩展正则表达式匹配算法两个计算机科学领域的核心问题。在布尔矩阵根方面,分析了其与图同构的关系及在不同条件下的复杂性边界,提出有界树宽等概念可能为问题简化提供新路径;在扩展正则表达式匹配方面,介绍了一种结合模块划分、增强NFA和位并行技术的新算法,显著提升了时间与空间效率,并给出了详细的算法流程与复杂度对比。研究表明,这两类问题不仅具有理论深度,也在实际应用中展现出广泛前景。

gamma的博客 36

扩展正则表达式

在Linux中,正则表达式可以分为”基本正则表达式”和”扩展正则表达式”。 我们已经认识了”基本正则表达式”,现在,我们来认识一下”扩展正则表达式”。 有了之前的基础,学习”扩展正则表达式”简直不要太轻松。 之前说过,有些符号是通用的,不管是在”基本正则表达式”中,还是在”扩展正则表达式”中,这些通用的符号所表达的意思都是相同的。 那么,我们先来看看哪些符号是通用的,看完之后你会信心大增,如下字符都是通用的: . 表示任意单个字符。 * 表示前面的字符连续出现任意次,包括0次。 .* 表示任意长度的任

zhangsaho的博客 2937

考虑风和浪的影响的旋筒帆船航线优化方法研究

针对旋筒帆船进行航线优化的实现方法,包括升阻力系数的数值模拟、升阻力系数的多元非线性回归建模、旋筒帆船6DOF摇荡运动建模分析以及考虑风、浪影响的旋筒帆船的航线优化研究。

m0_63225885的博客 1163

正则表达式(9):扩展正则表达式

上图中的扩展正则使用了分组符号”( )”,”(com|net)”表示将括号内的内容看做一个整体,而括号内的内容为”com|net”,它表示”com或者net”,所以,”(com|net)$”就表示以com或者net结尾的行。上图中,grep命令使用了”-E”选项,表示grep命令会把”正则表达式”中的符号当成”扩展正则表达式”去理解,而不再使用默认的”基本正则表达式”。5、顶级域名之前必须包含一个”点”,换句话说就是,邮箱必须以”.com”、”.net”、”.org”、”.edu”结尾。

qq_40531442的博客 2168

在Windows 11上用VirtualBox搞定WRF-Hydro 5.2.0:一个水文模型小白的Ubuntu 22.04虚拟机避坑实录

本文详细记录了在Windows 11上使用VirtualBox和Ubuntu 22.04虚拟机成功编译安装WRF-Hydro 5.2.0水文模型的全过程。从虚拟环境配置、依赖库安装到环境变量设置,作者分享了针对Linux新手的实用避坑技巧和关键命令,帮助科研人员高效完成水文模型的环境搭建。

weixin_30733003的博客 352

数仓 - 促销敏感度、评论敏感度

1. 促销敏感度 步骤1. 首先按照最后一次下单时间及有无复购情况将用户分为四大群体: 近一年有购物行为且复购的用户 -- L1 (今年复购用户) 近一年有购物行为但无复购的用户 --L2 (今年一单购用户) 最后一次下单时间在1年之前且有复购的用户 --L3 (今年无购且只有一单用户) 最后一次下单时间在1年之前但无复购的用户 -- L4 (今年无购多单用户) 步骤2. 每一类用户群再根据优惠订单占比、每单优惠金额占比的平均值、优惠金额这三个指标进行k-means聚类,分为: 非常敏感 -

weixin_41332009的博客 1898

基本正则表达式与扩展正则表达式的使用以及可能应用到的场景

简单地说,正则表达式是一种符号表示法,用于识别文本模式。在某种程度上,它们类似于匹配文件和路径名时使用的shell通配符,但其用途更广泛。许多命令行工具和大多数编程语言都支持正则表达式,以此来解决文本操作方面的问题。然而,在不同的工具,以及不同的编程语言之间,正则表达式都会略有不同,这让事情进一步麻烦起来。方便起见,我们将正则表达式的讨论限定在POSIX标准中(它涵盖了大多数命令行工具),与许多编程语言(最著名的Perl)不同,这些编程语言使用的符号集要更多一些。

m0_64505752的博客 844

OPPO 数据分析面试题及参考答案

如何设计共享单车数据库的各个字段? 对于共享单车的数据库设计,首先考虑用户相关的字段。用户表可以包含用户 ID,这是一个唯一标识符,用于区分不同用户;姓名,记录用户的真实姓名;联系方式,比如手机号码,方便在出现问题时联系用户;注册时间,记录用户何时开始使用共享单车服务;信用分数,用于衡量用户使用共享单车过程中的行为是否合规,比如是否按时归还车辆等。 车辆信息表要有车辆 ID,这是车辆的唯一标识;车辆类型,例如普通单车、电动单车等;投放时间,即车辆投放到市场的时间;车辆状态,包括是否可用(如正

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

正则表达式及拓展方法

正则表达式相关内容

justjailbreak的博客 359

[SV]SystemVerilog学习笔记之struct & union

SystemVerilog学习笔记(四) 一、结构体(struct) 1.1、结构体(struct) 结构体声明:结构体默认是变量,也可以声明为线网 var struct{ //通过var进行结构体变量声明 logic [31:0] a, b; logic [ 7:0] opcode; } Instruction_Word_var; wire struct{ //结构体线网声明,定义为线网类型时,结构体的所有成员必须...

元直的博客 1万+

海思3403烧结、复用及mic输入

3403调试的第一步是版本烧结,版本烧结经常遇到问题,本文记录总结遇到的各种问题。

平面到立体 1353

基本正则表达式与扩展正则表达式

正则表达式一 基本正则表达式1.字符匹配1.匹配次数三级目录 写在前面:一直以来 对于正则表达式的使用都没有进行一个系统性的梳理学习,导致在工作中进行脚本编写时,总是会出现一些不符合自己认知的错误,最近抽空将其进行了系统性的学习与梳理 所谓正则表达式 是对文本中的字符串进行处理的一种工具,由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符),不表示字符字面意思,而表示控制或通配的功能 程...

Buster_ZR的博客 6658

Apollo Planning2.0决策规划算法代码详细解析 (1):环境搭建

1、官方提供连接:git clone https://github.com/ApolloAuto/application-pnc.git。此外,也更新了dreamview对pnc的支持,使得调试更加方便。apollo开源团队近期更新了planning版本,对代码进行了一定程度上的重构。(2)进入docker,并编译整个工程:./apollo.sh build_dbg。下载项目环境后使用aem进行环境配置;2、有一定基础建议直接拉取最新代码,自己手动进行编译。(1)环境安装: ./dev_start.sh。

自动驾驶Player的博客 1839

linux基础篇-12,grep正则表达式与扩展正则表达式

基本正则表达式:grep 使用正则表达式定义的模式来过滤文本 grep    -i :不区分大小写   --color   -v:显示没被匹配的任意行   -o:只显示被匹配的字符串   -E 扩展的正是表达式 =egerp   -A#:#为数字   -B#:   -C#: [root@Jameszhan testcp]# grep -o 'root' /etc

爱无止尽的博客 1562

AI人工智能 Agent:在仓储物流中的应用

AI人工智能 Agent:在仓储物流中的应用 1. 背景介绍 1.1 问题的由来 仓储物流行业是全球经济运行的基石之一,涉及商品的存储、运输、分拣和配送等多个环节。随着电子商务的普及和消费者对物流速度和精确性的要求不断提高,仓储物流

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 859

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Shell编程——正则表达式基础与扩展

正则表达式基础   Linux Shell以一串字符作为表达式向系统传达意思。元字符(Metacharacters)是用来阐释字符表达式意义的字符,简言之,元字符就是描述字符的字符,它用于对字符表达式的内容、转换及各种操作信息进行描述。正则表达式是由一串字符和元字符构成的字符串,简称RE(Regular Expression)。正则表达式的主要功能是文本查询和字符串操作,它可以匹配文本的一个字

灵魂自由的忙人 438

蓝牙模块HM-10手册

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

027egrep与扩展正则表达式

扩展正则表达式功能与基本正则表达式相同,但是语法更简洁易懂。 我们可以使用grep -E来支持扩展正则表达式,也可以使用专用命令egrep。   egrep [OPTIONS] PATTERN [FILE...] 选项:          -i,-o, -v, -q, -A, -B, -C(这些选项含义与grep相同,忘记的可以man或者回去看上一节grep的讲解)       ...

TheMonkeyKing 339

Statistics and Machine Learning Toolbox

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

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

[ SHELL编程 ] 通配符与基础正则表达式、扩展正则表达式

在Linux命令行操作或者SEHLL编程中总是容易混淆一些特殊字符的使用,比如元字符‘*’号,作为通配符匹配文件名时表示0个到无穷多个任意字符。而作为正则表达式匹配字符串时,表示重复0个到无穷多个的前一个字符。对于通配符和正则表达式之间容易理解的方法就是,在文本过滤命令中这些元字符是用做正则表达式,比如像awk,sed,grep等,主要是针对文件内容的。然而通配符多用在文件名上,比如查找find,...

guanyi的博客 406

扩展正则表达式egrep与awk应用

扩展正则表达式egrep与awk

Mr_XHC的博客 804

Linux通配符与基础正则表达式、扩展正则表达式

在Linux命令行操作或者SHELL编程中总是容易混淆一些特殊字符的使用,比如元字符‘*’号,作为通配符匹配文件名时表示0个到无穷多个任意字符。而作为正则表达式匹配字符串时,表示重复0个到无穷多个的前一个字符。对于通配符和正则表达式之间容易理解的方法就是,在文本过滤命令中这些元字符是用做正则表达式,比如像awk,sed,grep等,主要是针对文件内容的。然而通配符多用在文件名上,比如查找f...

weixin_30895603的博客 292

正则表达式与扩展表达式(awk、sed、grep三剑客)

正则表达式 正则表达式的定义正则表达式又称正规表达式、常规表达式。在代码中常简写为 regex、regexp 或 RE。正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。 简单来说, 是一种匹配字符串的方法,通过一些特殊符号,实现快速查找、删除、替换某个特定字符串。 正则表达式是由普通字符与元字符组成的文字模式。模式用于描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为...

karvin666的博客 1461
上一篇: vim配色方案murphy,以及多行注释插入技巧
下一篇: 实验楼mysql挑战三---mysql的触发器trigger,过程rpocedure,授权grant的使用
mbinary
博客等级 码龄9年 39粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值