Spring til indhold
Menu

Artikler

Sådan bruger du RegEx i Power Automate

Sådan bruger du Regular Expressions i Power Automate: byg mønstre, test dem, og udtræk strukturerede data fra mails og dokumenter i dine cloud flows.

Anders Jensen Automatiserings- og AI-instruktør

Intro

Er dataene strukturerede, er go-to-løsningen Regular Expressions (RegEx). Denne artikel forudsætter, at du har grundlæggende kendskab til RegEx. Har du ikke det, så se denne video.

Office Scripts i Power Automate (den gratis løsning)

Office Scripts er "det nye VBA" og lader dig automatisere alt i Excel på nettet (Excel Online). Office Scripts skrives i enten JavaScript eller TypeScript, som er næsten det samme.

Løsningen på gratis RegEx-understøttelse i Power Automate er at lave et simpelt TypeScript med RegEx-understøttelse i Excel Online som et Office Script og derefter kalde scriptet fra Power Automate. Her er din opskrift i 2 trin:

Opret Office Scriptet

Fig. 1.1 - Gå til Office.com og klik på Excel-ikonet

Gå til https://www.office.com, log ind med dine Microsoft-legitimationsoplysninger, klik på Excel-ikonet (Fig. 1.1) og åbn en 'New blank workbook'.

Kan du ikke se Excel-ikonet på din office.com-side, så klik på de ni sorte prikker i øverste venstre hjørne og find Excel-ikonet dér.

Fig. 1.2: Omdøb Excel-projektmappen

(Dette trin er ikke nødvendigt, men anbefalet.) Har du ikke en Excel-projektmappe til de Office Scripts, du bruger i Power Automate, er det nu, du opretter en. Omdøb den ved at klikke på projektmappens nuværende navn (Fig. 1.2) og ændre filnavnet til 'PowerAutomateScripts'.

Denne Excel-projektmappe kan nu bruges som beholder for Office Scripts i Power Automate.

Fig. 1.3: Opret et nyt Office Script

For at oprette et nyt Office Script klikker du på 'Automate' (i topmenuen), derefter 'All Scripts' og til sidst 'New Scripts' (Fig. 1.3).

Fig. 1.4: Standard-Office Script

Sådan ser et standard-Office Script ud (Fig. 1.4). Markér hele scriptet med Ctrl+A, så det bliver blåt. Tryk på Delete, og se standardkoden forsvinde.

Du kan også omdøbe scriptet ved at klikke på 'Script 1'. Kald det fx 'RegEx Match'.

Kopiér til sidst følgende script ind i editoren:

function main
  (
    workbook: ExcelScript.Workbook, inputString: string, pattern: string, flags: string
  ): Array<string> {
  let regExp = new RegExp(pattern, flags);
  let matches: Array<string> = inputString.match(regExp);

  if (matches) {
    return matches;
  } else {
    return [];
  }

}
Fig. 1.5: RegEx-scriptet

Dit script bør se sådan ud (Fig. 1.5). Office Scriptet kan nu kaldes i Power Automate.

Kald RegEx-Office Scriptet fra Power Automate

Med Office Scriptet fra del 1 på plads kan scriptet nu kaldes fra Power Automate.

Fig. 1.6: Run script

Find 'Run script'-connectoren og udfyld Location, Document Library, File og Script (Fig. 1.6).

Tre parametre skal udfyldes:

  • inputString: Input-strengen, du vil udtrække data fra. Det kan være dynamisk indhold fra en tidligere action.
  • pattern: Dit RegEx-mønster.
  • flags: Dine RegEx-flags.
Fig. 1.7: RegEx-eksempelflow

Fig. 1.7 viser, hvordan du bruger RegEx-Office Scriptet:

  • Manually trigger a flow. Simpel attended automatisering, hvor brugeren starter flowet.
  • Compose. Input-strengen. Den kan komme fra alle statiske og dynamiske kilder i Power Automate.
  • Run script. Udfyld indstillingerne/parametrene. I 'inputString' bruger vi det dynamiske indhold fra 'Compose'. RegEx-mønstret udfyldes i 'pattern', og det samme gælder flags.

Min inputString:

This is a text script to test our RegEx script/connector. Of course, you can always reach me at anders@andersjensen.org, but if you want a guaranteed answer, please post your question/feedback in the comments below. Kind regards, Anders Jensen dontuse@thisemail.com

Mit RegEx-mønster:

[A-Za-z0-9]+@[A-Za-z0-9]+\.[A-Za-z]+
Fig. 1.8: Resultatet

Kør flowet, og se derefter outputtet under 'result' (Fig. 1.8). Det er et array af strenge og er vores matches.

Fig. 1.9: Udskriv resultaterne

Fig. 1.9 viser, hvordan du udskriver resultaterne, altså hver streng i arrayet. Brug først en 'Apply to each' med 'result' som input. Tilføj så en 'Compose', og brug i 'Input' det dynamiske output fra 'Apply to each'.

Fig. 1.10: Udskriv et bestemt element

Fig. 1.10 viser, hvordan du udskriver et bestemt element blandt vores matches i arrayet med udtrykket:

outputs('Run_script')?['body/result'][0]

Plumsail - ubegrænset RegEx i Power Automate

Arbejder du i et enterprise-setup, vil du sandsynligvis finde Office Scripts-RegEx-løsningen ubrugelig. Du må nemlig kun lave 400 Office Scripts-kald fra Power Automate om dagen.

Plumsail er go-to-løsningen til enterprise-RegEx-understøttelse i Power Automate. Den er ikke gratis, men prisen er rimelig.

Opret en Plumsail-konto

Fig. 2.1: Opret en Plumsail-konto

Gå til https://auth.plumsail.com/account/register og opret en konto (Fig. 2.1). Er du ikke logget ind bagefter, så gør det.

Fig. 2.2: Gå til Actions

Gå til 'Actions' ved at klikke på ikonet (Fig. 2.2). Kan du ikke se det, så find det ved at klikke på de 6 "hvide prikker" i øverste venstre hjørne.

Fig. 2.3: Opret API-nøgle

Klik på 'API key' under 'Create a new API key' (Fig. 2.3).

Fig. 2.4: Add new

Klik på 'Add new'.

Fig. 2.5: Opret en ny API-nøgle

Giv din nøgle et navn (1), vælg typen 'Basic' i dropdown-menuen (2) og klik på 'Create' (Fig. 2.5).

Fig. 2.6: Kopiér API-nøglen

Kopiér den oprettede API-nøgle (Fig. 2.6). Den skal vi bruge i Power Automate.

Brug Plumsail-connectoren i Power Automate

Flere artikler

  • Microsoft Power Automate - tutorial for begyndere [2021]

    Komplet Power Automate-tutorial for begyndere: byg dine første cloud flows trin for trin med triggers, actions, betingelser og eksempler fra den virkelige verden.

    Læs mere →
  • Skal I slå agenter til i Microsoft 365 Copilot?

    Mange slog agenter fra i Copilot af forsigtighed. Her er fakta om sikkerhed, adgang, styring og risici, så I kan træffe beslutningen på et oplyst grundlag.

    Læs mere →
  • Copilot Cowork: Sådan giver du adgang med en pilotgruppe

    Copilot Cowork kræver usage-based billing, før nogen får adgang. Sådan aktiverer du det i Microsoft 365 admin center med pilotgruppe, credit-lofter og alerts.

    Læs mere →