mandag den 19. november 2018

Regulære udtryk i regneark

En af nyhederne i LibreOffice 6.2 er en ny regnearksfunktion, som anvendes til søgning i tekst og tal. Funktionen hedder "regex" (Regulære udtryk), og funktionen tager fire parametre:
  • Tekst : Den tekst der skal søges i
  • Udtryk: Det regulære udtryk
  • Erstatning (valgfri): Hvad match skal erstattes med
  • Flag: "g" betyder global erstatning.
Hvis der i celle A1 stå teksten "Her er en historie!" og A2 indeholder formlen "=REGEX(A1;"en";"verdens bedste" )" vil resultatet af A2 være "Her er verdens bedste historie".

En ganske simpel søg-og-erstat kan man sige.

Regulære udtryk er et "s øgesprog" som anvendes i mange progammeringssprog, og det er muligt at lave meget præcise søgninger.

Hvis du eksempelvis ønsker at udtrække mail-adresser fra en celle, kan du bruge denne formel:

=REGEX(A2;"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?")

Indholdet af celle A2: "Der sendes til test@test.xyz temmelig meget."
Resultatet af formlen vil være "test@test.xyx"

Læs mere om regulære udtryk her: http://userguide.icu-project.org/strings/regexp