我需要拆分以下字符串
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"
,所以不匹配。
等等
测试。