2
我需要正则表达式来分割字符串,但保留分隔符,而不是作为单独的元素
the quick brown fox jumps over the lazy dog
分割以下字符串为以下标记:
- 的
- 敏捷的棕色狐狸跳过过
- 懒狗
所以要解释,我想分割the
,但在前面的数组元素中包含the
分隔符(而不是它自己的独立元素)。
任何人都可以摆脱这个问题或者给我正确的正则表达式吗?
我正在使用C#。
我需要正则表达式来分割字符串,但保留分隔符,而不是作为单独的元素
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"
,所以没有匹配。
等
Test。
你应该包括'\ b' – nhahtdh 2013-03-17 20:14:49
这很好。例如,你可以通过给出正则表达式来分割“the”或“brown fox”来帮助我理解它吗? – 2013-03-17 20:27:31
想我明白了。 (?<=棕色狐狸) – 2013-03-17 20:35:40