加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

linux下关于正则表达式grep的一点总结

发布时间:2020-11-04 06:46:56 所属栏目:移动互联 来源:网络整理
导读:正则表达式(Regular Expression)是用于描写一组字符串特性的模式,用来匹配特定的字符串。通过非凡字符+平凡字符来举办模式描写,从而到达文本匹配目标器材

  短视频,自媒体,达人种草一站处事

正则表达式(Regular Expression)是用于描写一组字符串特性的模式,用来匹配特定的字符串。通过非凡字符+平凡字符来举办模式描写,从而到达文本匹配目标器材

正则表达式(Regular Expression) 是用于描写一组字符串特性的模式,用来匹配特定的字符串。通过非凡字符+平凡字符来举办模式描写,从而到达文本匹配目标器材。相同于糊口中常见的寻人启迪,通过描写一小我私人的特性来举办“搜刮匹配”

现在正则已经被我们普及应用,今朝被集成到了各类文本编辑器/文本处理赏罚器材傍边

应用场景**验证: **表单提交时,举办用户名暗码验证。**查找: **从大量信息中快速提取指定内容。在一批url中,查找指定url替代: 将指命名目标文本,举办正则匹配查找,找到之后举办特定替代,(vim文本替代等)

在许多技能规模(好比,天然说话处理赏罚,数据存储等),正则表达式可以很利便的提取出我们想要的信息,以是这部门必不行少组成根基要素字符类 数目限制符 位置限制符 非凡标记

1. 字符类:

应用:

grep行使--color选项将匹配的字符串以赤色标注出来 Linux下可以用echo $?来打印上一条呼吁执行的退出码,为0暗示执行乐成,1暗示失败。

尝试如下:

留意: 行使 . 默以为贪婪匹配,和后头的正则匹配方法相干,后头再述。

2. 数目限制符:

应用:

3. 位置限制符:

留意: 个中 b 用来限制是方针串中是否有以指定字符串开头的单词,我们称之为词界。 B 称之为非词界

应用:

4. 非凡标记:

然则功效仿佛并不如我们所愿?其拭魅这里还与正则表达式版本有关。 正则分为以下几个版本:

根基的正则表达式(Basic Regular Expression 又叫 Basic RegEx 简称 BREs) 扩展的正则表达式(Extended Regular Expression 又叫 Extended RegEx 简称 EREs) Perl 的正则表达式(Perl Regular Expression 又叫 Perl RegEx 简称 PREs)

在grep中指定响应的参数即可,而这几个版本中默认的就是根基正则,带上-E选项就是扩展正则,而带上-P参数就是用perl版正则。办理前面的题目,我们这里让grep带上-P选项便可办理了

版本间区别正则表达式的Extended类型和Basic类型基内情同。只是在Basic类型下,有些字符 ?+{}|() 应表明为平凡字符,要暗示上述非凡寄义则必要加 转义。反之,在Extended类型下, ?+{}|() 应该被领略成非凡寄义,要取其字面值,也要对其举办 转义。以是, grep 器材带上 -E 选项,暗示行使扩展正则来举办匹配(亦可直接行使egrep 呼吁操纵),若没有,则暗示行使基准正则举办匹配。带-P选项行使的perl正则匹配。它是perl说话集成的最重要的一种特征,它异常强盛,许多说话计划正则式支持的时辰根基上都参考Perl的正则表达式。正则匹配模式

贪心模式

正则表达式去匹配时,会只管多的去匹配切合前提的内容,grep呼吁 默认行使的就是贪心匹配,

非贪心模式 正则表达式去匹配时,会只管少的匹配切合前提的内容 也就是说,一旦发明匹配切合要求,立马就匹配乐成,而不会继承匹配下去(除非有g选项,开启下一组匹配)

总结: 可以看到,非贪心模式的标识符,就是贪心模式的标识符后头加上一个 ?

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读