2013-01-21 128 views
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 

我該如何做到這一點?

+0

哪裏都行以'S ='和'E ='從你的第一分來了嗎?爲什麼在第二次拆分中有兩次'c = IN IP4'?此外,您正在使用哪個正則表達式引擎? –

回答

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); 
+0

非常感謝你,我將用它作爲我的一個Javascript對象。 XRegExp在這種情況下 –

+0

多數民衆贊成在工作。再次感謝你 –

相關問題