根据特定字符序列将文本拆分为组

时间:2013-01-21 12:35:38

标签: javascript regex

我想在特殊字符匹配中将文本拆分成组。

例如,以下文字应分为三个部分,分别对每个m=匹配:

v=0 o=NNMAS 8571 287 IN IP4
t=1358416438 0
m=audio 43538 RTP/AVP 0 8 18 96 97
c=IN IP4
a=sendrecv
m=audio 43538 RTP/AVP 0 8 18 96 97
c=IN IP4

应该成为

1:

v=0 o=NNMAS 8571 287 IN IP4
t=1358416438 0

2:

m=audio 43538 RTP/AVP 0 8 18 96 97
c=IN IP4
a=sendrecv

3:

m=audio 43538 RTP/AVP 0 8 18 96 97
c=IN IP4

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

最简单的方法是拆分正则表达式(?m)^(?=m=)

<强>解释

(?m)  # Turn on multiline mode (so the next line works correctly).
^     # Assert position at the start of the line.
(?=   # Assert that the following text can be matched at the current position:
 m=   #  m=
)     # End of lookahead assertion.

您需要告诉我们您正在使用哪个正则表达式引擎,以便我们提供可用的代码示例。

在JavaScript中,模式修饰符需要超出正则表达式,因此您得到:

result = subject.split(/^(?=m=)/m);