使用两个分隔符之一拆分字符串但保留分隔符

时间:2014-10-28 22:49:29

标签: c# regex split

使用正则表达式(或其他方法),如何在5050或1010分割此文本

505079000012345    ORE
10201 00
1030CA
1030AL
505079000012346    ORE
10201 00
1030CA
1030AL
101014003412    ORE
10201 00
1030CA
1030AL
505079000012347    ORE
10201 00
1030CA
1030AL
101014003413    ORE
10201 00
1030CA
1030AL

这样生成的字符串是(注意我想在每个字符串组的开头保留分隔符字符串):

505079000012345    ORE
10201 00
1030CA
1030AL

505079000012346    ORE
10201 00
1030CA
1030AL

101014003412    ORE
10201 00
1030CA
1030AL

505079000012347    ORE
10201 00
1030CA
1030AL

101014003413    ORE
10201 00
1030CA
1030AL

2 个答案:

答案 0 :(得分:2)

将此模式与mg选项

一起使用
^(?=5050|1010)  

Demo


\R(?=5050|1010)并替换w / \r\n\r\n Demo

答案 1 :(得分:0)

您可以通过以下方式捕捉所有比赛:

/((?:5050|1010)(?:(?!5050|1010).)*)/gs

DEMO(查看右侧面板上的匹配信息)

结果是每个匹配的数组

希望它有所帮助。