Click here to Skip to main content
15,896,557 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi coder i am new in regular expression so i don't know much about i will show you what i have and what i did.

String on which i have to put regular expression i have two search ticket number in it like 220-7242648582 for this i use [0-9||-]{14} regex
now the think is that it is a repeated string and i want to find ticket number after last )>md and before )md
HTML
    RP/DCA1S219C/DCA1S219C            SL/SU   5APR13/2119Z   23ZEBK
   42 FA PAX 220-7242648582-83/ETLH/USD1166.75/04APR13/DCA1S211E/4
   9881134/S3-7/P1
    43 FA PAX 220-7242648584-85/ETLH/USD1166.75/04APR13/DCA1S211E/4
   9881134/S3-7/P2
022 AF/FA 220-7242636221-22/ETLH/USD1166.75/03APR13/
    NYC1S21DD/33895934/OU 341 S 13MAY SJJZAG/LH6001 T 13MAY
    ZAGFRA/LH 402 T 13MAY FRAEWR/LH7608 T 17JUL EWRMUC/
    LH1730 T 18JUL MUCSJJ/TRESNJO/SABAHETA(ADT)
022 AF/FA 220-7242636223-24/ETLH/USD1166.75/03APR13/
    NYC1S21DD/33895934/OU 341 S 13MAY SJJZAG/LH6001 T 13MAY
    ZAGFRA/LH 402 T 13MAY FRAEWR/LH7608 T 17JUL EWRMUC/
    LH1730 T 18JUL MUCSJJ/TRESNJO/FEJZO(ADT)
022 RF-WS-NMC-US/WSTNGTNG CR-NYC1S21DD 33895934 SU 9999WS/RO
    -9C9482E6 NYCW33TNG 00000000 04APR0223Z
022/033 XF/FA 220-7242636221-22/ETLH/USD1166.75/03APR13/
    NYC1S21DD/33895934/OU 341 S 13MAY SJJZAG/LH6001 T 13MAY
    ZAGFRA/LH 402 T 13MAY FRAEWR/LH7608 T 17JUL EWRMUC/
    LH1730 T 18JUL MUCSJJ/TRESNJO/SABAHETA(ADT)
033 AF/FA 220-7242636221-22/EVLH/USD1166.75/03APR13/
    NYC1S21DD/33895934/OU 341 S 13MAY SJJZAG/LH6001 T 13MAY
    ZAGFRA/LH 402 T 13MAY FRAEWR/LH7608 T 17JUL EWRMUC/

)>md
RP/DCA1S219C/DCA1S219C            SL/SU   5APR13/2119Z   23ZEBK
    LH1730 T 18JUL MUCSJJ/TRESNJO/SABAHETA(ADT)
    033 RF-2G-NYC1S21SP/00102G CR-NYC1S21DD 33895934 GS 00102G/R
    O-67ED3FEE NYC1S21SP 33608293 04APR0514Z
 022/034 XF/FA 220-7242636223-24/ETLH/USD1166.75/03APR13/
    NYC1S21DD/33895934/OU 341 S 13MAY SJJZAG/LH6001 T 13MAY
    ZAGFRA/LH 402 T 13MAY FRAEWR/LH7608 T 17JUL EWRMUC/
    LH1730 T 18JUL MUCSJJ/TRESNJO/FEJZO(ADT)
034 AF/FA 220-7242636223-24/EVLH/USD1166.75/03APR13/
    NYC1S21DD/33895934/OU 341 S 13MAY SJJZAG/LH6001 T 13MAY
    ZAGFRA/LH 402 T 13MAY FRAEWR/LH7608 T 17JUL EWRMUC/
    LH1730 T 18JUL MUCSJJ/TRESNJO/FEJZO(ADT)
034 RF-2G-NYC1S21SP/00102G CR-NYC1S21DD 33895934 GS 00102G/R
    O-67ED3FEE NYC1S21SP 33608293 04APR0514Z
033/035 XF/FA 220-7242636221-22/EVLH/USD1166.75/03APR13/
    NYC1S21DD/33895934/OU 341 S 13MAY SJJZAG/LH6001 T 13MAY
    ZAGFRA/LH 402 T 13MAY FRAEWR/LH7608 T 17JUL EWRMUC/
    LH1730 T 18JUL MUCSJJ/TRESNJO/SABAHETA(ADT)
 034/035 XF/FA 220-7242636223-24/EVLH/USD1166.75/03APR13/
    NYC1S21DD/33895934/OU 341 S 13MAY SJJZAG/LH6001 T 13MAY
    ZAGFRA/LH 402 T 13MAY FRAEWR/LH7608 T 17JUL EWRMUC/
    LH1730 T 18JUL MUCSJJ/TRESNJO/FEJZO(ADT)

 )>md
RP/DCA1S219C/DCA1S219C            SL/SU   5APR13/2119Z   23ZEBK
    O-67ED3FEE NYC1S21SP 33608293 04APR0514Z
033/035 XF/FA 220-7242636221-22/EVLH/USD1166.75/03APR13/
    NYC1S21DD/33895934/OU 341 S 13MAY SJJZAG/LH6001 T 13MAY
    ZAGFRA/LH 402 T 13MAY FRAEWR/LH7608 T 17JUL EWRMUC/
    LH1730 T 18JUL MUCSJJ/TRESNJO/SABAHETA(ADT)
034/035 XF/FA 220-7242636223-24/EVLH/USD1166.75/03APR13/
    NYC1S21DD/33895934/OU 341 S 13MAY SJJZAG/LH6001 T 13MAY
    ZAGFRA/LH 402 T 13MAY FRAEWR/LH7608 T 17JUL EWRMUC/
    LH1730 T 18JUL MUCSJJ/TRESNJO/FEJZO(ADT)
035 RF-P-NYC1S21SP/00102G CR-NYC1S21DD 33895934 GS 00102G/RO
    -67ED3FEE NYC1S21SP 33608293 04APR0514Z
044 AF/FA 220-7242648582-83/ETLH/USD1166.75/04APR13/
    DCA1S211E/49881134/OU 341 S 13MAY SJJZAG/LH6001 T 13MAY
    ZAGFRA/LH 402 T 13MAY FRAEWR/LH7608 T 17JUL EWRMUC/
    LH1730 T 18JUL MUCSJJ/TRESNJO/SABAHETA(ADT)
044 AF/FA 220-7242648584-85/ETLH/USD1166.75/04APR13/
    DCA1S211E/49881134/OU 341 S 13MAY SJJZAG/LH6001 T 13MAY
    ZAGFRA/LH 402 T 13MAY FRAEWR/LH7608 T 17JUL EWRMUC/
    LH1730 T 18JUL MUCSJJ/TRESNJO/FEJZO(ADT)
044 RF-MZ CR-DCA1S211E 49881134 SU 1983MZ/RO-67ECDAB1 DCA1S2
    10W 49592222 04APR0658Z
)md

thanks in advance
Posted
Updated 1-May-13 2:05am
v3

I would suggest you to take a substring from your LAST ' )>md' to ')md' like this:

 )>md
RP/DCA1S219C/DCA1S219C            SL/SU   5APR13/2119Z   23ZEBK
    O-67ED3FEE NYC1S21SP 33608293 04APR0514Z
033/035 XF/FA 220-7242636221-22/EVLH/USD1166.75/03APR13/
    NYC1S21DD/33895934/OU 341 S 13MAY SJJZAG/LH6001 T 13MAY
    ZAGFRA/LH 402 T 13MAY FRAEWR/LH7608 T 17JUL EWRMUC/
    LH1730 T 18JUL MUCSJJ/TRESNJO/SABAHETA(ADT)
034/035 XF/FA 220-7242636223-24/EVLH/USD1166.75/03APR13/
    NYC1S21DD/33895934/OU 341 S 13MAY SJJZAG/LH6001 T 13MAY
    ZAGFRA/LH 402 T 13MAY FRAEWR/LH7608 T 17JUL EWRMUC/
    LH1730 T 18JUL MUCSJJ/TRESNJO/FEJZO(ADT)
035 RF-P-NYC1S21SP/00102G CR-NYC1S21DD 33895934 GS 00102G/RO
    -67ED3FEE NYC1S21SP 33608293 04APR0514Z
044 AF/FA 220-7242648582-83/ETLH/USD1166.75/04APR13/
    DCA1S211E/49881134/OU 341 S 13MAY SJJZAG/LH6001 T 13MAY
    ZAGFRA/LH 402 T 13MAY FRAEWR/LH7608 T 17JUL EWRMUC/
    LH1730 T 18JUL MUCSJJ/TRESNJO/SABAHETA(ADT)
044 AF/FA 220-7242648584-85/ETLH/USD1166.75/04APR13/
    DCA1S211E/49881134/OU 341 S 13MAY SJJZAG/LH6001 T 13MAY
    ZAGFRA/LH 402 T 13MAY FRAEWR/LH7608 T 17JUL EWRMUC/
    LH1730 T 18JUL MUCSJJ/TRESNJO/FEJZO(ADT)
044 RF-MZ CR-DCA1S211E 49881134 SU 1983MZ/RO-67ECDAB1 DCA1S2
    10W 49592222 04APR0658Z
)md



and apply this regex pattern on it:

(\d{3}\-\d{10}\-\d{2})

It will give you all ticket number having format XXX-XXXXXXXXXX-XX. You can iterate over all the matches.

On the other hand your regex will be much more complex. This seems fast and easy to understand.

Also, I am expecting the regex you are using as mentioned in question [0-9||-]{14} will matches the string like:

2-2-2-2-2-2222

which is not a ticket number.

Hope it helps!
 
Share this answer
 
Comments
amitesh1989 2-May-13 11:00am    
[0-9||0]{14} regex used to find ticket number like 125-8928292889 in this regex {14} indicates number of string i only want {14} string that's why i use {14} and i cant take the last )>md i have to take all the history of ticket
Shahan Ayyub 2-May-13 14:17pm    
As per your provided details: " i want to find ticket number after last )>md and before )md " I was expecting that you are in need of last few ticket numbers(as per the given range in question), and i believe if you are going to make a substring it won't have an impact on your original string(so you still have a history) and above solution will give you the last ticket number between the MDs you have mentioned.
amitesh1989 3-May-13 3:52am    
according to use regex it will give me all ticket number not between the second last and last md
Shahan Ayyub 6-May-13 9:50am    
hi!
Can you split it with ")>md" and access (n-1)th index, if it exists ? and use the pattern i have given to you ?
Shahan Ayyub 3-May-13 7:55am    
Which one regex you are talking about? have you taken substring ?
There are lots of tools developed for RegEx, here is one of them:
Expresso - A Tool for Building and Testing Regular Expressions[^]

It really should be a great help to generate complex regex patterns.
 
Share this answer
 
Comments
amitesh1989 1-May-13 8:26am    
i know but i just need a regex for it because my query is different then what that tool gave it to me

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900