|
Помогите с регуляркой
|
|||
---|---|---|---|
#18+
Здравствуйте. Есть вот такой текст: CLP*1462*1*310*310**13*780261304051872 00**1~ NM1*QC*1*KHANNA*SUSHMA****MI*3HZN33041360~ NM1*82*2*ALLIED CARE CORP*****XX*1629191937~ DTM*232*20130127~ DTM*233*20130131~ DTM*050*20130209~ PER*CX*HORIZON BLUE CROSS BLUE SHIELD OF NEW JERSEY DIRECT ACCESS*TE*8006241110~ AMT*AU*310~ AMT*T2*310~ SVC*HC<S9122*0*15.5**1~ DTM*472*20130127~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130127~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130127~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130127~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122<TV*62*0**4~ DTM*472*20130127~ CAS*PI*97*62~ REF*6R*EP020813717544485-01~ REF*HPI*1629191937~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130128~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130128~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130128~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130128~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*62*0**4~ DTM*472*20130128~ CAS*PI*97*62~ REF*6R*EP020813717544485-02~ REF*HPI*1629191937~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130129~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130129~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130129~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130129~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*62*0**4~ DTM*472*20130129~ CAS*PI*97*62~ REF*6R*EP020813717544485-03~ REF*HPI*1629191937~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130130~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130130~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130130~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130130~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*62*0**4~ DTM*472*20130130~ CAS*PI*97*62~ REF*6R*EP020813717544485-04~ REF*HPI*1629191937~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130131~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130131~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130131~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*0*15.5**1~ DTM*472*20130131~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~SVC*HC<S9122*62*0**4~ DTM*472*20130131~ CAS*PI*97*62~ REF*6R*EP020813717544485-05~ REF*HPI*1629191937~ SVCEND~CLPEND~ Мне нужно выделить из него блоки где в первой строке код HC<S9122, после ** стоит 1 и во второй строке дата 20130127 SVC*HC<S9122*0*15.5**1~ DTM*472*20130127~ CAS*CO*94*-15.5~ REF*HPI*1629191937~ AMT*B6*15.5~ SVCEND~ Затем надо все блоки с кодом HC<S9122<TV, той же датой , только где после ** стоит 4. SVC*HC<S9122<TV*62*0**4~ DTM*472*20130127~ CAS*PI*97*62~ REF*6R*EP020813717544485-01~ REF*HPI*1629191937~ SVCEND~ Использую такое например выражение для захвата с единицей после **: Код: c# 1.
и такое для 4 после ** Код: c# 1.
Но выражения захватывают слишком много. Как сделать так что бы захватывались группы от SVC до первого вхождения SVCEND~ ? Заранее спасибо за ответы. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2013, 23:48 |
|
Помогите с регуляркой
|
|||
---|---|---|---|
#18+
Ъ...! это EDI ?! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2013, 23:56 |
|
Помогите с регуляркой
|
|||
---|---|---|---|
#18+
Я не в курсе EDI ли это. Я это получаю в виде файлов. Затем их надо слегка исправить. Могу конечно сделать через IndexOf(...) , но так не хочется делать. Регулярками как то лучше и правильнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 13:10 |
|
|
start [/forum/topic.php?fid=20&msg=38173987&tid=1405062]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 156ms |
0 / 0 |