C#regex拆分前面的字符捕获

时间:2014-11-07 15:31:40

标签: c# regex string split

在C#中,我想将一个字符串拆分为(子字符串)。

我试图通过使用regex.split()来实现这一点。

每个字符串都有一个标题,后面有一些记录 每个新记录可以通过某些关键字识别:CR,STAT,EFFE (每个标识符长度为4个字符,因此CR最后有2个空格 问题是我必须在标识符之前获得3个字符,这使我很难制作正则表达式。每

输入:

123456 ;04;PERS;    ;073583118500CR;CR  ;PROF;09;30;073583118500;EFFE  ;PROF;0P

期望的输出:

123456 ;
04;PERS;    !0735831185
00CR;CR  ;PROF;09;30;0735831185
00;EFFE  ;PROF;0P

到目前为止我所得到的是这种正则表达式

(?=..;CR  ;|..;PERS;|..;EFFE;)
但是,如果没有更清晰的写作方式,我会徘徊。    类似的东西:

..;(CR  |PERS|EFFE);

1 个答案:

答案 0 :(得分:0)

你所需要的只是将整个正则表达式包装在一个预见断言中

(?=..;(?:CR  |PERS|EFFE);)

了解正则表达式如何匹配http://regex101.com/r/zZ7lG4/1