1

我想将文本分成特殊字符匹配的组。

例如,下面的文本应该分成三个部分,在每个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

我怎样才能做到这一点?

4

1 回答 1

0

最简单的方法是在 regex 上拆分(?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);
于 2013-01-21T12:38:56.470 回答