专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

正则表达式教程,正则表达式的基本用法

来源:小易整编  作者:小易  发布时间:2023-03-30 09:48
摘要:正则表达式教程,正则表达式的基本用法无论是前端、后端,或者是客户端,还是算法;甚至是普通的非开发的用户,我觉得正则表达式都有必要去学习了解,因为它可以极大的提升我们的工作效率,这点对于开发人员来说可能体会更加深刻,特别是在定位线上问题的时候...

正则表达式教程,正则表达式的基本用法

无论是前端、后端,或者是客户端,还是算法;甚至是普通的非开发的用户,我觉得正则表达式都有必要去学习了解,因为它可以极大的提升我们的工作效率,这点对于开发人员来说可能体会更加深刻,特别是在定位线上问题的时候,面对密密麻麻的日志,怎样才能找出我们需要的那几条关键的日志,正则表达式就派上用场了。

什么是正则表达式

我不会在这里直接解释”正则表达式”是什么东东,我一直认为用一些专业词汇去给一个东西下定义就是一个扯淡的事情,只会让读者更加犯迷糊。

这里,我会演示日常中的一些需求,通过这些需求,你肯定就明白了什么是”正则表达式”。

创建一个文本文件,用sublime打开,可以看到文件内容如下:

先来看第一个需求:找出文件中的java单词,我们直接在sublime的搜索框输入"java"然后点击Find,即可:

可以看到,文件中7行都出现了java这个词,而且无论"java"出现在什么位置,都被搜出来了。
现在需求变了:如果只想获取"java"出现在行尾的字符串了,换句话说,字符串不仅要包含”java”,而且还要位于行尾,同时满足这两个条件的字符串才算满足条件。

可以看到,在搜索框输入"java$",然后点击搜索,只有"java"位于行尾的第3行和第5行被标记满足条件。

好了,现在可以来解释什么是正则表达式了:”正则表达式”又称”规则表达式”,通常用来检索符合某个规则的文本。上面的例子,在正则表达式中,”$”就表示行尾,"java$"表达的规则就是位于行尾的java字符串。

正则表达式表达的规则有不少,下面按照分类给大家一一演示,演示过程中会用到grep命令,新手友情提示,这个命令也是大家必须掌握的一个命令。

鉴于正则表达式内容还是比较多的,因此还是想用两篇文章来介绍,这是第一篇。

位置规则

所谓的位置规则,其实是我自己取得一个名字,这组规则主要是用来描述你要搜索的词要出现在指定的位置才会匹配上。

正则符号含义
^匹配行首,此符号后面的内容必须出现在行首,才能匹配
$匹配行尾,此符号后面的内容必须出现在行尾,才能匹配
\<匹配词首,其符号后面的内容必须在单词首部,才能匹配
\>匹配词尾,其符号前面的内容必须在单词首尾,才能匹配
^$匹配空行
\B匹配非单词边界

对于上面表格中不明白的地方,没关系,看完下面的演示,相信肯定就能全明白了。

^和$

考虑这样一个场景:需要打印出test.txt文件中"java"这个词只出现在行首的行,上面的表格中描述的很清楚,”^”表示”匹配行首”,好了,我们实操演示下:

只有第一行的"java"是位于行首,被搜索出来了。其它6行尽管都包含"java",但是都不符合位于行首这个条件。

那么如果要搜索"java"位于行尾的行,"$"就派上用场了,示例如下:

好了,”^”与”$”现在已经知道了怎么使用,那么这两个符号结合在一起用,”^java$”以及"^$"又表示什么意思了,聪明如你一定会举一反三,结合"^"和"$"的含义,”^java$”表示"java"既位于行首又位于行尾,换句话说,整行中只有一个单词java,才会被匹配到。
"^$"表示行首与行尾之间没有任务字符,也就是说匹配"空行"。注意,”空行”表示当前行不包含任何字符,包含”空格”的行不能被当做”空行”。

\<和\>

理解了"^"和"$",再来理解\<和\>的含义就容易多了,这里就不过多解释了,还是给几个示例,大家对着示例以及结果慢慢琢磨,不难理解\<和\>的用法。

• 搜索"java"出现在词首的行

• 搜索"java"出现在词尾的行

• 搜索"java"作为独立单词出现的行

正则表达式教程,正则表达式的基本用法

\B

“\B”是用来匹配”非单词边界”的,作用和"\<"以及"\>"相反,什么意思了,"<java"表示匹配"java"出现在词首的行,"\Bjava"则表示匹配"java"不出现在词首的行。同理,"java\B"则表示匹配"java"不出现在词尾的行。

这样说可能如果还没理解,看了示例就会秒懂,示例如下。

• 搜索"java"不出现在词首的行

  • • 搜索"java"不出现在词尾的

正则表达式教程,正则表达式的基本用法


本文地址:百科问答频道 https://www.neebe.cn/wenda/944671.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • 安卓手机怎么刷机教程

    安卓手机怎么刷机教程

    对于大部分安卓手机用户来讲,刷机是不可避免的。可是我们都知道刷机是有一定的风险的,有些用户还是不敢随意的刷机。我们先来了解一下安卓手机怎么刷机?操作方法01先关机,然后按住音量减键,再同时按开机键,即...

  • creo4.0完全自学教程

    creo4.0完全自学教程

    在机械零件设计的众多软件中,PRO/ECREO4.0可以说是很典型的一款设计软件,为设计工程师的工作省了很多的事情,让设计师在设计时更高效。下面一起来看看自觉的基础教程。操作方法01打开CREO4....

  • CEBX电子书制作图文教程

    CEBX电子书制作图文教程

    今天小编在这里介绍一下CEBX的特点和优点,以及怎样制作CEBX的电子书吧~ApabiReaderforiOS是一款新发布的,支持CEBX、PDF及TXT格式图书的电子书阅读器。这款软件有很多独特的功能是针对CEBX格式的图书所特有...

  • 酷我音乐直播在哪里? 酷我音乐观看直播的教程

    酷我音乐直播在哪里? 酷我音乐观看直播的教程

    酷我音乐想要看看直播,今天我们就来看看酷我手机端和电脑端看直播的教程。一、手机端酷我音乐观看直播的方法1、首先手机上要有酷我的软件,点击进入酷我音乐,之后手机页面如图所示2、酷我最上面有“直播”两字,然后点击&ldq...

  • ai海报怎么做(ai海报制作教程图文)

    ai海报怎么做(ai海报制作教程图文)

    阅前叨逼叨hello大家早上好我是大家的好朋友,我叫天天,昨晚翻阅超久才看到野鹿志这个教程,本次教程是用ai结合ps做的,说难不难(貌似很多会psai的人都这样说吧哈哈)说简单吧,其实细节调整也是需要花一点心思的。本次教程的图片多...

  • 绘制一台复古风电视机【PS教程】

    绘制一台复古风电视机【PS教程】

    小编:新手福利来啦!今天带来一个复古风格的旧电视图标临摹教程,图层样式是这次教程的重点。过程细致,步骤具体,新手最好掌握起来。把这个练完,绝对有不一样的收获!这里再次强调一点,图层样式中的参数设置是对应其相应图层的,受图层大小尺寸影响,在不...

  • bilibili直播姬怎么用 哔哩哔哩直播姬使用图文教程

    bilibili直播姬怎么用 哔哩哔哩直播姬使用图文教程

    哔哩哔哩直播姬怎么用?为了能方便广大新手主播快速上手b站的直播系统,哔哩哔哩最近推出了一款一键直播工具bilibili直播姬,这款软件可以让你不用再去设置麻烦的obs不用再去安装弹幕姬插件,软件集成了一切的功能,你想要开播只用点一下开始直播...

  • HostEase注册域名教程

    HostEase注册域名教程

    我们可以在HostEase主机商购买虚拟主机(一般会赠送免费域名),当然也可以注册域名,不过不建议单独注册域名。对于广大新用户来说可能还不清楚注册域名的具体步骤,下面来说说在HostEase注册域名的过程步骤/方法0...

  • 周排行
  • 月排行
  • 年排行

精彩推荐