sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan regulært udtryk OR-operator evalueres

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.

Debuggex-demo

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!

Debuggex-demo



  1. PDO MySQL backup funktion

  2. Sådan droppes en tabel i SQL

  3. PHP mySQL - Hvornår er det bedste tidspunkt at afbryde forbindelsen til databasen?

  4. java.sql.SQLEundtagelse:ORA-01843:ikke en gyldig måned