正则表达式教程,正则表达式的基本用法
无论是前端、后端,或者是客户端,还是算法;甚至是普通的非开发的用户,我觉得正则表达式都有必要去学习了解,因为它可以极大的提升我们的工作效率,这点对于开发人员来说可能体会更加深刻,特别是在定位线上问题的时候,面对密密麻麻的日志,怎样才能找出我们需要的那几条关键的日志,正则表达式就派上用场了。
什么是正则表达式
我不会在这里直接解释”正则表达式”是什么东东,我一直认为用一些专业词汇去给一个东西下定义就是一个扯淡的事情,只会让读者更加犯迷糊。
这里,我会演示日常中的一些需求,通过这些需求,你肯定就明白了什么是”正则表达式”。
可以看到,在搜索框输入"java$",然后点击搜索,只有"java"位于行尾的第3行和第5行被标记满足条件。
好了,现在可以来解释什么是正则表达式了:”正则表达式”又称”规则表达式”,通常用来检索符合某个规则的文本。上面的例子,在正则表达式中,”$”就表示行尾,"java$"表达的规则就是位于行尾的java字符串。
正则表达式表达的规则有不少,下面按照分类给大家一一演示,演示过程中会用到grep命令,新手友情提示,这个命令也是大家必须掌握的一个命令。
鉴于正则表达式内容还是比较多的,因此还是想用两篇文章来介绍,这是第一篇。
位置规则
所谓的位置规则,其实是我自己取得一个名字,这组规则主要是用来描述你要搜索的词要出现在指定的位置才会匹配上。
正则符号 | 含义 |
^ | 匹配行首,此符号后面的内容必须出现在行首,才能匹配 |
$ | 匹配行尾,此符号后面的内容必须出现在行尾,才能匹配 |
\< | 匹配词首,其符号后面的内容必须在单词首部,才能匹配 |
\> | 匹配词尾,其符号前面的内容必须在单词首尾,才能匹配 |
^$ | 匹配空行 |
\B | 匹配非单词边界 |
对于上面表格中不明白的地方,没关系,看完下面的演示,相信肯定就能全明白了。
^和$
只有第一行的"java"是位于行首,被搜索出来了。其它6行尽管都包含"java",但是都不符合位于行首这个条件。
\<和\>
理解了"^"和"$",再来理解\<和\>的含义就容易多了,这里就不过多解释了,还是给几个示例,大家对着示例以及结果慢慢琢磨,不难理解\<和\>的用法。
• 搜索"java"出现在词尾的行
\B
“\B”是用来匹配”非单词边界”的,作用和"\<"以及"\>"相反,什么意思了,"<java"表示匹配"java"出现在词首的行,"\Bjava"则表示匹配"java"不出现在词首的行。同理,"java\B"则表示匹配"java"不出现在词尾的行。
这样说可能如果还没理解,看了示例就会秒懂,示例如下。
• 搜索"java"不出现在词尾的
本文地址:百科问答频道 https://www.neebe.cn/wenda/944671.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!