1

特殊文字の一致でテキストをグループに分割したいと思います。

たとえば、次のテキストは 3 つの部分に分割し、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

最も簡単な方法は、正規表現で分割すること(?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 に答える