🍥 正则tip

    🍥 正则tip \B 和 \b

    首先了解 \w 是匹配字母或数字或下划线或汉字(不包含空格啊)

    • \b 单词的边界,就是左边和右边只能有一个是字符(\w),比如 n 一共是两个字符,实际上有三个位置:空格、\b、字母
    • \B 非单词的边界,就是两遍都不是字符或者两边都是字符。比如go,看上去是两个字符,实际上是字母、\B、字母 三个位置

    举例:如果是 hi实际上有8个位置:空格、\B、空格、\b、字母、\B、字母、\b

    🍥 正则tip https://cloud.tencent.com/developer/article/1833698

    • ?= ?<= ?! ?<!

      • 前瞻:

      exp1(?=exp2) 查找exp2前面的exp1

      • 后顾:

      (?<=exp2)exp1 查找exp2后面的exp1

      • 负前瞻:

      exp1(?!exp2) 查找后面不是exp2的exp1

      • 负后顾:

      (?<!exp2)exp1 查找前面不是exp2的exp1

    • ?: 非捕获分组。有的时候我们需要表示一个整体,又不希望它占用正则匹配结果的一个成员,就可以用这个,比如想匹配 字符串中出现foo子串一次或者两次,但又不需要记录这个分组,就可以写 /(?:foo){1,2}/
联系方式

关于我

  • 来自南部的一个小城市,个性不张扬,讨厌随波逐流。

那年今日

🥳 周末 [WEEK-15] 周五气象部分预告北京有极大的狂风,因此公司通知周五晚上可以错峰下班,晚上5点半就走了,准备去超市买点菜。结果超市好多菜都卖完了,排骨也没有了,烘焙也都卖空了。甚至...

C++Tips 一个“暴论”:大部分的c++业务代码里使用模版或者宏除了炫技和增加阅读成本外没有任何好处。

💬 分享 New York is 3 hours ahead of California but it does not mean that California is slow, or tha...