Solved
Contributor
Posts: 27

Perl Reg Expression

Hi

I am trying to define 'a' that matches the following codes by using PRXPARSE: V250-V2509; V251-V2513; V254-V2549; V255-V259

a= prxparse("/\b(V25[0-9]\b|\b(V250[1-9]\b|\b(V251[1-3])\b|\b(V254[0-9])\b/");

This generates an error message saying:

ERROR: Unmatched ( before HERE mark in regex m/\b(V25[0-9]\b|\b( << HERE V250[1-9]\b|\b(V251[1-3])\b|\b(V254[0-9])\b/

Can someone help me resolving this issue?

Accepted Solutions
Solution
‎05-24-2016 02:49 PM
Posts: 5,528

Re: Perl Reg Expression

[ Edited ]

Try

a= prxparse("/\b(V250[1-9]?|V251[1-3]?|V254[1-9]?|V25[5-9])\b/");

PG

All Replies
Solution
‎05-24-2016 02:49 PM
Posts: 5,528

Re: Perl Reg Expression

[ Edited ]

Try

a= prxparse("/\b(V250[1-9]?|V251[1-3]?|V254[1-9]?|V25[5-9])\b/");

PG
Contributor
Posts: 27

Re: Perl Reg Expression

Thank you so much for the quick reply! I just tried what you suggested and it ran! Quick question. So I've noticed that you tweaked a few things- you changed the order of the sequence (4 digits -> 3 digits instead of 3 digits ->4 digits) and I see question marks between [ ] and |. I am guessing the question mark did the trick?!

You also changed the range from 0-9 to 1-9 etc. but I am guessing that's just a typo as it is irrevant to the question I was asking. Thanks so much!!!

Posts: 5,528

Re: Perl Reg Expression

? means none or one match.

V250[1-9]? will match V250, V2501, V2502... V2509

V250[0-9]? will match V250, V2500, V2501, V2502 ... V2509

PG
Contributor
Posts: 27

Re: Perl Reg Expression

Oh I see. I noticed that the last one (V25[4-9]) does not have ? at the end, but I tried both w. and wo it and they returned the same result-  So what was the prob with my code then? I thought it was something to do w. 'V'.   Thanks again for your help!!

🔒 This topic is solved and locked.