当前位置:网站首页 > R语言数据分析 > 正文

strace用法(strrep用法)



点击蓝字【秋叶 Excel】

发送【6】

免费领 1000+ 篇 Excel 精选教程!


本文作者:小爽

本文编辑:卫星酱

大家好,我是会一点数据处理的小爽~

前面我们讲过正则函数,了解到正则的插入、拆分用法。(见文末)

之前都是利用正则匹配模式匹配字符,比如:

d 匹配 一个数字 w 匹配一个数字字母下划线,(在 ascii 模式下) [a-c]匹配一个 a 到 c 之间的一个字符

但是有时会有一个特殊需求,匹配指定内容之前或之后的位置

比如(小爽),我们要匹配括号里面的内容,就可以通过匹配位置,进而获取内容。

(位置小爽位置)

所以今天,就来讲讲正则的匹配位置。


开头结尾限定

开头结尾位置,也有对应的正则语法。

^:用于匹配字符串的开头,表示一个模式应该出现在字符串的开头位置。

$:在正则表达式中,表示匹配字符串的结尾位置。

正则表达式的「匹配」有两种概念:一种是匹配字符,一种是匹配位置,这里的^,$就是匹配位置的。

利用^$我们可以判断字符串开头结尾是否存在某个字符串。

❶ 包含

如下图所示,需要判断字符串中是否包含小爽。

 
  

❷ 开头

 

br/>

img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2024%2F1031%2F2c142bcbj00sm7bak003hd200u000hyg00hv00ao.jpg&thumbnail=660x&quality=80&type=jpg"/>

br/>

❸ 结尾

判断结尾是否存在小爽。

 

❹ 精确

字符串是否为小爽。

 

到这里,我们已经学会了开头结尾对应的正则语法,接下来我们来看看指定内容前后位置的正则语法。


指定内容前后位置

如下图所示,我们需要提取中括号里的信息

传统做法:

借助 TextSplit 拆分函数。

 

当然也可以使用正则函数,通过中括号取反来提取。

 

不过,这里来介绍一种新的做法。

来看看我们的字符串,可以发现,我们要提取的是中括号里的内容。

【小爽】【爽鸭】【Excel】

如果不匹配字符,只匹配位置,那么位置之间的内容,就是需要提取的内容。【(位置)内容(位置)】

问题来了!!!

在正则表达式中,有没有只匹配位置的正则语法?

有的,那就是零宽断言

什么是零宽断言?

正则表达式中的零宽断言是一种特殊的结构,它在匹配的时候不会消耗字符,只是对匹配位置进行条件判断。

如同^代表开头,$代表结尾,零宽断言也有类似的作用,它们只匹配某些位置,在匹配过程中,不占用字符,所以被称为"零宽"

主要有以下四个:

(?=pattern)零宽正向先行断言

  • (?<=pattern)零宽正向后行断言

  • (?!pattern)零宽负向先行断言

  • (?零宽负向后行断言

    看起来好复杂?

    看个例子你就懂了!

    字符串:❁小爽ω

    正则语法:(?<=❁)小爽(?=ω)

    (?<=❁)小爽左边为❁的位置。

    巧记(?<=):正则中有个左边的小于号。也就是查找小爽左边为❁的位置。

    (?=ω)小爽右边为ω的位置。

    巧记(?=):没有小于号,也就是查找小爽右边为ω的位置。

    返回结果:小爽

    知道了零宽断言,那我们再来看公式,就不难理解:

     

    【位置小爽位置】【位置爽鸭位置】【位置excel位置】

    公式解析:

    (?<=【):指定内容左边为【的位置。

  • .+?:匹配指定内容,.+代表除换行符之外一到多个字符,?代表非贪婪匹配。

  • (?=】):指定内容右边为】的位置。

    何为非贪婪匹配?

    贪婪匹配是指匹配时,尽可能多地去匹配字符的方式

  • 非贪婪匹配是指匹配时,尽可能少地去匹配字符的方式。

    假如我们去掉?号,就是贪婪匹配,它会尽可能多的匹配,就会匹配到结尾。


    后的话

    敲黑板:

    本文中,小爽主要带领大家了解正则表达式中比较难的匹配位置。

    其中,我们了解到:

    ^:匹配开头位置

  • $:匹配结尾位置

  • 零宽断言:条件位置匹配(?<=,?=)

  • 非贪婪模式:?尽可能少的匹配

    文章比较难,但是掌握了匹配字符和位置,就相当于掌握了正则语法。

    正则表达式是匹配模式,要么匹配字符,要么匹配位置

    关于匹配字符的文章大家可以戳:

    大家在工作中还遇到过哪些 Excel 问题,也可以在留言区中聊聊~

    说不定就成为我们后面的选题方向了。

    如果你想变得更优秀,提升 Excel 水平,增强职场竞争力。

    快来加入《秋叶 Excel 3 天集训营》,和 500 强企业培训讲师拉登Dony 一起学习更多高效技巧!

    不限年龄!不限岗位!不限基础!都可以学!

    课程原价 99 元

    现在扫码

    不仅免费报名

    还送

    100+套精选 Excel 模板

    35 个常用函数说明手册

    学 Excel,提升办公效率


    到此这篇strace用法(strrep用法)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!







    版权声明


    相关文章:

  • resnet50和101哪个好(resnet50和vgg16比较)2025-06-26 19:54:09
  • spark面试题(spark面试题以及答案)2025-06-26 19:54:09
  • centernet论文(hrnet 论文)2025-06-26 19:54:09
  • grid布局优缺点(为什么很少人用grid布局)2025-06-26 19:54:09
  • redis软件怎么连接redis(redis用什么连接)2025-06-26 19:54:09
  • cruisin下载(cruisin中文)2025-06-26 19:54:09
  • aurochs翻译成英语(aunt翻译成英语)2025-06-26 19:54:09
  • ifstream打开文件路径(ifstream 打不开文件)2025-06-26 19:54:09
  • msvcp120.dll找不到的解决方法(msvcr120.dll找不到)2025-06-26 19:54:09
  • redis连接时报连接拒绝(redis 无法连接)2025-06-26 19:54:09
  • 全屏图片