Logo Wand.Tools

Regular Expression Generator

Intelligently generate and explain regular expressions, supporting various common pattern matching

Java Regulære Udtryk (Regex) Tutorial

Komplet Java Regulære Udtryk (Regex) Tutorial (med eksempler) | Java Regex Tutorial Forklaret

Java Regulære Udtryk (Regex) er et kraftfuldt værktøj til tekstbehandling, der er meget udbredt til strengmatchning, validering, erstatning og mere. Denne artikel giver dig den mest praktiske Java Regex tutorial, ledsaget af detaljerede kodeeksempler, for at hjælpe dig med at mestre Java Regex-færdigheder og nemt håndtere forskellige udviklingsscenarier.


✅ Grundlæggende syntaks for regulære udtryk

Udtryk Beskrivelse
. Matcher ethvert tegn undtagen linjeskift
^ Matcher starten af inputstrengen
$ Matcher slutningen af inputstrengen
* Matcher det foregående element 0 eller flere gange
+ Matcher det foregående element 1 eller flere gange
? Matcher det foregående element 0 eller 1 gang
[] Matcher ethvert tegn inden for parenteserne
[^^] Matcher ethvert tegn ikke inden for parenteserne
{n} Matcher præcis n gange
{n,} Matcher mindst n gange
{n,m} Matcher mellem n og m gange (inklusiv)
\d Matcher et ciffertegn, svarende til [0-9]
\w Matcher et ordtegn (bogstav, tal eller underscore), svarende til [a-zA-Z_0-9]
\s Matcher ethvert hvidt tegn
` `

🚀 Nøgleklasser til brug af regulære udtryk i Java

  • java.util.regex.Pattern
  • java.util.regex.Matcher

📌 Grundlæggende eksempel: Kontrol af, om en streng matcher en Regex

import java.util.regex.*;

public class RegexExample1 {
    public static void main(String[] args) {
        String pattern = "^[a-zA-Z0-9]{6,12}$";
        String input = "abc12345";

        Pattern p = Pattern.compile(pattern);
        Matcher m = p.matcher(input);

        if (m.matches()) {
            System.out.println("Match lykkedes");
        } else {
            System.out.println("Match mislykkedes");
        }
    }
}

🧩 Eksempel: Udtrækning af alle e-mailadresser

import java.util.regex.*;

public class RegexExample2 {
    public static void main(String[] args) {
        String text = "Kontakt e-mail: [email protected], [email protected]";
        String regex = "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}";

        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(text);

        while (m.find()) {
            System.out.println("Fundet e-mail: " + m.group());
        }
    }
}

🔁 Eksempel: Erstatning af alle telefonnummerformater

import java.util.regex.*;

public class RegexExample3 {
    public static void main(String[] args) {
        String input = "Kunde telefon: 13812345678, alternativt nummer: 13987654321";
        String regex = "1[3-9]\\d{9}";

        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(input);

        String result = m.replaceAll("***Fortroligt***");
        System.out.println(result);
    }
}

🔍 Eksempel: Validering af almindelige formater (telefon, e-mail, ID-kort)

public class RegexValidation {
    public static void main(String[] args) {
        String phone = "13812345678";
        String email = "[email protected]";
        String idCard = "110101199003077777";

        System.out.println(phone.matches("^1[3-9]\\d{9}$"));          // true
        System.out.println(email.matches("^[\\w.-]+@[\\w.-]+\\.[a-zA-Z]{2,}$")); // true
        System.out.println(idCard.matches("^\\d{17}[\\dXx]$"));       // true
    }
}

🔐 Almindelige Regex-skabeloner (Anbefales at gemme)

  • Validering af telefonnummer: ^1[3-9]\\d{9}$
  • Validering af e-mail: ^[\\w.-]+@[\\w.-]+\\.[a-zA-Z]{2,}$
  • Validering af ID-kortnummer: ^\\d{17}[\\dXx]$
  • Kontrol af adgangskodestyrke: ^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$
  • Validering af IP-adresse: ^(\\d{1,3}\\.){3}\\d{1,3}$
  • Validering af URL-adresse: ^https?://[\\w.-]+(?:\\.[\\w\\.-]+)+[/#?]?.*$

📈 Almindelige anvendelsesscenarier for Java Regulære Udtryk

  • Validering af formularer (telefonnummer, e-mail, adgangskode)
  • Udtrækning af tekstindhold (loganalyse, udtrækning af e-mailadresse)
  • Håndtering af følsomme oplysninger (f.eks. erstatning af ID-kort, telefonnumre)
  • Masse-strengudskiftning og -rensning
  • Standardisering af dataformater