
正则表达式
文章平均质量分 72
MyySophia
工作只是你的权利,而只有你的行为才能为你赢得尊重
展开
-
正则表达式回溯引发的生产惨案
业务上的一个字段在解析时为了避免脏数据导致后续ETL的异常,决定从源头将该字段严格按照设计的规则去匹配。该字段的上传是设备端传上来的文件中的一个字段。使用regex101 debug mode 时,发现在匹配最后一个真这个块时发生了 pattern backtrack indicator。也就是说并不是所有的id都匹配不到,是偶发的。发现问题之后立即进行了退版操作。有几个id匹配不到,可实际上应该匹配到。这个正则匹配到这一步为啥会从头开始匹配?回溯之后就匹配不到了。为什么会发生回溯呢?原创 2023-06-30 10:32:21 · 331 阅读 · 0 评论 -
正则表达式分组()与引用实战
目录分组与编号分组引用不保存子组分组引用在查找中使用分组引用在替换中使用总结 括号在正则中的功能就是用于分组。简单来理解 就是,由多个元字符组成某个部分,应该被看成一个整体的时候,可以用括号括起来表示一 个整体,这是括号的一个重要功能。其实用括号括起来还有另外一个作用,那就是“复用”。分组与编号 括号在正则中可以用于分组,被括号括起来的部分“子表达式”会被保存成一个子组。分组引用不保存子组如果正则中出现了括号,...原创 2022-02-17 16:44:57 · 533 阅读 · 0 评论 -
推荐一个正则表达式测试的工具
不会就debug,这个工具支持一步一步走。推荐给大家!https://regex101.com/b原创 2022-02-17 14:00:58 · 661 阅读 · 0 评论 -
正则表达式实战
本文都是基于Linux 支持的正则来实战。关于正则的流派见这里。一、提取字符串需要的部分有时候总有一些需求,需要提取一行中需要的部分,例如需要提取博客链接中的数字。regExp]# echo https://www.cnblogs.com/luoahong/p/11577600.html | sed 's/.*p\/\([0-9]*\).*/\1/g'11577600注意:1、s表示替换,\1表示用第一个括号里面的内容替换整个字符串,(可以看作是一个子组)sed支持*,不支持?、+,原创 2020-07-31 16:58:50 · 577 阅读 · 1 评论 -
正则有哪些常见的流派及其特性?
在不了解Liunx 正则流派的前提下在linux环境学习正则非常痛苦。首先看自己的linux 版本支持的流派.使用man grep 即可查询的到........................................................... Matcher Selection -E, --extended-regexp Interpret PATTERN as an extended regular expression (原创 2020-07-31 16:22:00 · 590 阅读 · 0 评论 -
如何用断言更好地实现替换重复出现的单词?
内容来自于涂伟忠 极客课程,仅限于学习交流使用,如有侵权及时删除。最常见的断言有三种:单词的边界、行的开始或结束、环视。单词的边界是使用 \b 来表示,这个比较简单。而多行模式下,每一行的开始和结束是使用 ^ 和 $ 符号。 如果想匹配整个字符串的开始或结束,可以使用 \A 和 \z,它们不受匹配模式的影响。 最后就是环视,它又分为四种情况:肯定逆向环视、否定逆向环视、肯定顺序环视、否定顺序环视。在使用的时候记住一个方法:有左尖括号代表看左边,没有尖括号是看右边,而感叹号是非的意思。单词.原创 2020-06-28 11:07:33 · 311 阅读 · 0 评论 -
正则表达式中的元字符
此外还有一个非常友好的debug 网址https://regex101.com/r/PnzZ4k/1。下面这些元字符,在工作中当做字典来使用,相信一定可以掌握正则的。原创 2020-06-27 10:48:07 · 379 阅读 · 0 评论 -
正则中常见的4种匹配模式
匹配区间类型的需求使用这四种模式能达到事半功倍的效果。正则中常见的四种匹配模式,分别是:不区分大小写、点号通配模式、多行模式和注释模式。原创 2020-06-26 22:17:20 · 6460 阅读 · 0 评论