sql >> Databáze >  >> RDS >> Sqlserver

Jak se vyhodnocuje operátor OR regulárního výrazu

Pokud vás zajímá, co se stane, když použijete | operátor střídání , odpověď je snadná:motor regulárních výrazů zpracovává výraz a vstupní řetězec z zleva doprava .

Vezměme si vzor, ​​který máte jako příklad, ^.{8}|.{12}$|.{4} zahájí kontrolu vstupního řetězce zleva a zkontroluje ^.{8} - prvních 8 znaků. Najde je a je to shoda. Poté pokračuje a najde posledních 12 znaků pomocí .{12}$ a opět je tu shoda. Poté jsou spárovány libovolné 4znakové řetězce.

Debuggex Demo

Dále máte ^.{8}|.{4}|.{12}$ . Výraz je opět analyzován zleva doprava, nejprve se shoduje prvních 8 znaků, ale dále budou porovnány pouze 4znakové sekvence, .{12} se nikdy nespustí, protože bude existovat .{4} zápasy!

Debuggex Demo



  1. 19 Online zdroje informací o chybách návrhu databáze

  2. Chyba 1329:Žádná data – nebylo načteno, vybráno ani zpracováno nula řádků – i když je vše hotovo

  3. Vícesloupcový primární klíč MySQL

  4. MAMP mysql se nespouští