我想分割輸入,如下所示。該輸入包含具有兩部分的數據類型。第一部分是標題[XX]或[YY],另一部分是內容(內容可能包含\ r \ n \ r \ n或[XX]或[YY])。有沒有其他的方式來預測?
[XX]\r\n
bla bla\r\n
bla bla\r\n
\r\n
[YY]\r\n
bla [XX] bla\r\n
bla bla\r\n
\r\n
[YY]\r\n
bla [YY] bla\r\n\r\n
bla bla\r\n
\r\n
我寫了兩個正則表達式的漁獲物和拆分此輸入:當內容完成後,新的數據與\ r \ n \ r \ n [XX]或\ r \ n \ r \ n [YY]啓動,其中兩人正在工作,但我認爲,他們可以改進。
第一:\[(XX|YY)\]\r\n((?:(?!\r\n\r\n\[(XX|YY)\]).)*)
二(做工不錯,除了最後的數據):「*」 \[(XX|YY)\]\r\n(.*?)(?=\r\n\r\n\[(XX|YY)\])
他們兩個都有,所以他們用大量的原路返回的,有沒有什麼要做到這一點與[^]?
謝謝...
有時使用匹配而不是拆分更容易。正在使用拆分不可移動的要求,還是您會考慮基於匹配的方法? –
我可以使用基於匹配的解決方案,我也正在使用這種模式在C#與regex.match ... – ogun