Datorn iFokus

Datorn

Etiketter: programvarahjälpmedel-och-verktyg
Läst 36 ggr
Niklas
0

RegEx-labbet, nytt testverktyg för reguljära uttryck

Bild 1. Klicka för att öppna i full storlek.

Som så ofta när jag jobbar med egna projekt spårade jag nyligen ur till diverse sidoprojekt. Ett av dem tycker jag blev tillräckligt användbart för att dela med mig av.

» Regex-labbet

Jag behövde ett enkelt sätt att snabbt testa reguljära uttryck (regular expressions, "RegEx", på engelska). Först testade jag mina vanliga textredigerare. Ingen fungerade tillräckligt bra. De låste sig när det blev lite större textsjok, eller hade andra problem.

I stället tog jag hjälp av ChatGPT och byggde ett superenkelt webbaserat verktyg. Det gör exakt vad jag behövde. Det finns många liknande verktyg, framför allt engelska, men det här gör bara det jag behövde och är helt utan andra finesser.

  1. Klistra in en text du vill prova dina reguljära uttryck mot.

  2. Skriv ditt uttryck.

  3. Tryck på knappen.

Resultatet visas i det nedersta textfältet. Behöver du hjälp med dina reguljära uttryck finns en enkel guide nertill på sidan.

Den enda ytterligare finess som finns, är att du kan spara appen på din mobil- eller surfplatteskärm. När du öppnar den då ser den ut och fungerar som en vanlig app utan webbläsarens kontroller.

🙂


Vänliga hälsningar, Niklas

Sök information om Sveriges adelssläkter för din släktforskning

Testa reguljära uttryck, RegEx, och hitta matchande avsnitt i dina texter.
johan
1
#1

Ha. Roligt! Ja, regex är inte så enkelt. Och det är ofta en mardröm att förstå sex månader efter man gjort det. Men det är också väldigt kraftfullt.

I Jetbrains IDE'n som jag använder när jag programmerar finns ett sånt här verktyg inbyggt. Jag kan högerklicka på ett regex och ange text att testa mot. Väldigt användbart.

Jag kan tänka mig att ChatGPT / Copilot också är bra på att ta ett regex och förklara i klartext vad det gör.

Mvh // Johan

Niklas
0
#2

Ja, det kan verkligen bli riktigt snårigt. Mina behov är tack och lov enkla så det brukar gå rätt bra. 🙂

Att ChatGPT är bra på att förklara reguljära uttryck stämmer. Nedan är ett exempel.


Jag:

- Förklara vad det här reguljära uttrycket gör: (<a href=”)([^>.]{1,}])(>)

ChatGPT:

- För att göra det lättare att förstå uttrycket, låt oss först bryta ner det i delar:

1. (<a href=”) - Matchar den exakta strängen <a href=” som förekommer i början av en HTML-länk.

2. ([^>.]{1,}) - Matchar en sekvens av tecken som INTE är '>' eller '.'. Det här mönstret matchar en eller flera gånger (minst en gång). Det innebär att det kommer att fånga strängen mellan <a href=” och den första '>' eller '.' som dyker upp.

3. (>) - Matchar det exakta tecknet '>', vilket markerar slutet på en öppnande HTML-tagg för en länk.

Det här reguljära uttrycket är avsett att hitta HTML-länkar och deras href-attributvärden, men det finns några problem:

En '}' i [^>.]{1,}] är felaktig och borde tas bort. Rätt syntax är [^>.]{1,}.

En mer strikt matchning av URL:er borde användas istället för [^>.]{1,}, eftersom vissa tecken i URL:er kan vara ogiltiga eller missvisande.

Ett mer korrekt reguljärt uttryck skulle se ut så här:

(<a href=”)([^>"\s]+)(>)

Vänliga hälsningar, Niklas

Sök information om Sveriges adelssläkter för din släktforskning