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