我需要拆分以下字符串
the quick brown fox jumps over the lazy dog
进入以下标记:
- 这
- 快速的棕色狐狸跳过
- 懒狗
因此,为了解释,我想拆分the但the在前面的数组元素中包含分隔符(而不是作为它自己的单独元素)。
任何人都可以对此有所了解,或者给我正确的正则表达式吗?
我正在使用 C#。
您需要使用后视 ( ?<=)。这个名字说明了一切,查看前面的字符,看看它们是否匹配某个给定的模式。
这应该有效:
"(?<=\\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",所以不匹配。
等等
测试。