Als je geïnteresseerd bent in wat er gebeurt als je |
gebruikt wisseloperator
, het antwoord is eenvoudig:de regex-engine verwerkt de uitdrukking en de invoertekenreeks van links naar rechts .
Neem het patroon dat u als voorbeeld heeft, ^.{8}|.{12}$|.{4}
begint de invoerreeks van links te inspecteren en controleert op ^.{8}
- eerste 8 tekens. Vindt ze en het is een match. Gaat dan verder en vindt de laatste 12 tekens met .{12}$
, en weer is er een match. Vervolgens worden alle 4-tekenreeksen gematcht.
Vervolgens heb je ^.{8}|.{4}|.{12}$
. De uitdrukking wordt opnieuw van links naar rechts geparseerd, de eerste 8 tekens worden als eerste overeenkomen, maar vervolgens worden alleen reeksen van 4 tekens gematcht, .{12}
zal nooit vuren omdat er .{4}
wedstrijden!