|
|
| laziness, impatience, and hubris | |
| PerlMonks |
Regex question - identify which pattern comes firstby harangzsolt33 (Curate) |
| on May 02, 2026 at 00:12 UTC ( [id://11167676]=perlquestion: print w/replies, xml ) | Need Help?? |
|
harangzsolt33 has asked for the wisdom of the Perl Monks concerning the following question:
I feel like I have learned a lot in the past 10 years since I started learning Perl, but I still probably don't know more than half of what's possible using regex. I have often come across situations where I needed to identify which pattern occurs first in a string. So, I am not trying to capture a part of the pattern nor am I trying to identify if it occurs at all or where. I am just trying to figure our which of the possible patterns is FIRST in the string. For example:
Sample string: "AB ABDA DCACCB AAA BSAA CAAB ACS ABA DBA BA DASSABACA A" I'm looking for either: BA[ABC]{2} OR CA[CD]{2} OR DA[SC]{2} So, I would write: /BA[ABC]{2}|CA[CD]{2}|DA[SC]{2}/ Is there a way to get a return value of 1, 2, or 3 depending on which pattern was matched first? How would I do that?
Back to
Seekers of Perl Wisdom
|
|
||||||||||||||||||||||||||||||