拆分字符串,但保留分隔符,但不作为单独的元素

本文关键字:单独 元素 不作为 保留 字符串 拆分 分隔符 | 更新日期: 2023-09-27 18:04:36

我需要拆分下面的字符串

the quick brown fox jumps over the lazy dog

转换为以下标记:

  1. 棕色狐狸快速跳过
  2. 懒狗

所以为了解释,我想在the上进行分割,但是在前面的数组元素中包含the分隔符(而不是作为它自己的单独元素)。

有没有人能解释一下这个问题,或者给我正确的正则表达式?

拆分字符串,但保留分隔符,但不作为单独的元素

您需要使用后视(?<=)。这个名字说明了一切,看看前面的字符是否匹配某个给定的模式。

这个应该可以工作:

"(?<=''bthe) "

因此,在任何空格处,检查前面的字符是否为"the",如果是,则匹配。

注意-我们还需要包括词边界''b(转义的'b),否则像"bathe"这样的东西也会匹配。

如果没有后视,我们将检查所有空格:

   v     v     v   v     v    v   v    v
the quick brown fox jumps over the lazy dog

通过后看,我们只匹配前面有"the"

(现在忽略''b)

"the " -刚刚找到一个空格,最后一个字符是"the",所以匹配。
"quick " -刚找到另一个空格,但最后一个字符是"...k",所以不匹配。
等。

测试。