正则表达式 - 匹配从“XXX”开始直到下一次出现

时间:2012-01-13 21:43:00

标签: javascript regex

嘿,我的目标是分开像

这样的东西
FOO 1
 UP 2.0
 DOWN 33
 Blubber 33@11 44@55
FOO 2
 ZZZ 1.0
 X 3
 Blubber 1@4 4@5 6@22
FOO 4
 ABC D
 Blubber 33@11 44@55

到FOO的每个区块直到下一个FOO:

FOO 1
 UP 2.0
 DOWN 33
 Blubber 33@11 44@55

并作为第二个结果

FOO 2
 ZZZ 1.0
 X 3
 Blubber 1@4 4@5 6@22

依旧......

我的尝试是让Regex - match up to next match的答案为我工作,但我真的不明白怎么做。 我必须把FOO括在括号里吗? (FOO)? 我希望有人可以帮助我走出森林...... 阳光问候Stefan

1 个答案:

答案 0 :(得分:4)

具有正面预测的

split()应该有效:

var arr = str.split(/(?=FOO\s\d+)/);

演示(检查控制台):http://jsfiddle.net/AndyE/6pxuz/