linux下关于正则表达式grep的一点总结
短视频,自媒体,达人种草一站处事 正则表达式(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选项,开启下一组匹配) 总结: 可以看到,非贪心模式的标识符,就是贪心模式的标识符后头加上一个 ? (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |