Hvis du er interesseret i, hvad der sker, når du bruger |
alterneringsoperatør
, svaret er nemt:regex-motoren behandler udtrykket og inputstrengen fra venstre til højre .
Tag det mønster, du har som eksempel, ^.{8}|.{12}$|.{4}
begynder at inspicere inputstrengen fra venstre og tjekker efter ^.{8}
- de første 8 tegn. Finder dem, og det er et match. Går derefter videre og finder de sidste 12 tegn med .{12}$
, og igen er der et match. Derefter matches alle 4-tegns strenge.
Dernæst har du ^.{8}|.{4}|.{12}$
. Udtrykket parses igen fra venstre mod højre, de første 8 tegn matches først, men derefter vil kun sekvenser på 4 tegn blive matchet, .{12}
vil aldrig udløses, fordi der vil være .{4}
matcher!