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?
Thanks in advance for your time!
Try
a= prxparse("/\b(V250[1-9]?|V251[1-3]?|V254[1-9]?|V25[5-9])\b/");
Try
a= prxparse("/\b(V250[1-9]?|V251[1-3]?|V254[1-9]?|V25[5-9])\b/");
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!!!
? means none or one match.
V250[1-9]? will match V250, V2501, V2502... V2509
V250[0-9]? will match V250, V2500, V2501, V2502 ... V2509
Your pick.
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!!
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.