专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

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

来源:小易整编  作者:小易  发布时间: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"不出现在词尾的

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


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


IT问答
小编:小易整编
相关文章相关阅读
  • 用U盘轻松实现一键重装系统的小白装机教程

    用U盘轻松实现一键重装系统的小白装机教程

    在现代社会,电脑已经成为人们生活中不可或缺的工具。然而,由于各种原因,我们有时候需要重装电脑系统来解决一些问题或提升性能。但是,对于一些小白用户来说,重装系统可能是一项困难的任务。因此,本文将介绍一款小白一键重装系统的u盘装机教程,帮助小白...

  • 什么是Linux系统中nc命令?nc命令的用法详解

    什么是Linux系统中nc命令?nc命令的用法详解

    这篇文章主要介绍了linux系统中nc命令的基本用法,nc命令非常之强大,这里先简单介绍它用来作端口扫描以及文件传输等的基础使用。功能说明:功能强大的网络工具,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小...

  • 百度智慧课堂怎么使用?百度智慧课堂使用教程

    百度智慧课堂怎么使用?百度智慧课堂使用教程

    百度智慧课堂怎么使用?百度智慧课堂是一款可以再网上带给你丰富的线上学习服务的线上学习软件,很多名师教授在其中免费授课,是很多人在线提升自己的重要渠道,不过很多新用户并不懂得该如何正确使用该软件,下面就由小编为大家带来有关百度智慧课堂的使用教...

  • 数据库的substr函数用法是什么

    数据库的substr函数用法是什么

    数据库的substr函数用法:1、【substr(str,pos,len)】从pos开始的位置,截取len个字符;2、【substr(str,pos)】pos开始的位置,一直截取到最后。数据库的substr函数用法:1、SUBSTR(st...

  • 解析如何解锁iPhone屏幕的教程,帮你解决手机被锁定的问题

    解析如何解锁iPhone屏幕的教程,帮你解决手机被锁定的问题

    你是否曾经遇到过忘记iphone的锁屏密码的情况?或者是否遭遇过熊孩子乱试密码导致iphone被锁定一个小时的情况呢?如果你曾经有类似的经历,需要快速解锁屏幕,那么可以考虑使用苹果屏幕解锁工具。这款工具是专为苹果用户设计的,可以帮助解锁苹果...

  • c语言中pow函数的用法是什么?

    c语言中pow函数的用法是什么?

    在c语言中pow()函数是用来求x的y次幂。x、y及函数值都是double型,其语法为“doublepow(doublex,doubley)”;其中参数“doublex”表示底数;参数“doubley”表示指数。pow()函数...

  • c语言中fun用法详解

    c语言中fun用法详解

    c语言中fun用法详解fun函数是自定义的C/C++语言函数,函数功能多样。该函数名为“函数”英文function的简写,一般在示例和试题中使用,通常在主函数中被调用。C/C++语言中,fun函数通常被主函数所调用。它是指用fun来定义一个...

  • js手机号码正则表达式

    js手机号码正则表达式

    正则表达式(regularexpression)是一个描述字符模式的对象。使用javascript正则表达式可以进行强大的模式匹配和文本检索与替换功能。手机号码正则表达式验证。functioncheckPhone(){var...

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

精彩推荐