Bruke regulære uttrykk

Java:
Bruke regulære uttrykk

Hvordan:

Java sin innebygde støtte for regex er hovedsakelig gjennom Pattern og Matcher klassene i java.util.regex pakken. Her er et enkelt eksempel for å finne og skrive ut alle forekomster av et ord i en streng, uten å ta hensyn til store og små bokstaver:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexExample {
    public static void main(String[] args) {
        String tekst = "Regex er flott for parsing. Parsing med regex er kraftfullt.";
        String ordÅFinne = "parsing";
        
        Pattern mønster = Pattern.compile(ordÅFinne, Pattern.CASE_INSENSITIVE);
        Matcher matcher = mønster.matcher(tekst);
        
        while (matcher.find()) {
            System.out.println("Fant '" + matcher.group() + "' på posisjon " + matcher.start());
        }
    }
}

Output:

Fant 'parsing' på posisjon 16
Fant 'Parsing' på posisjon 31

For oppgaver som å splitte strenger, kan du bruke String klassens split() metode med et regex:

public class SplitExample {
    public static void main(String[] args) {
        String tekst = "Java,Python,Ruby,JavaScript";
        String[] språk = tekst.split(",");
        
        for (String språk : språk) {
            System.out.println(språk);
        }
    }
}

Output:

Java
Python
Ruby
JavaScript

Når du jobber med regex i Java, kan det være tilfeller der et eksternt bibliotek kan forenkle komplekse oppgaver. Ett av de populære tredjeparts bibliotekene for å jobbe med regex i Java er Apache Commons Lang. Det tilbyr hjelpeverktøy som StringUtils som gjør noen regex oppgaver enklere. Slik bruker du det til å telle matcher av en understreng:

import org.apache.commons.lang3.StringUtils;

public class CommonsLangExample {
    public static void main(String[] args) {
        String tekst = "Regex gjør tekstbehandling enklere. Behandling av tekst med regex er effektivt.";
        String understreng = "behandling";
        
        int antall = StringUtils.countMatches(tekst, understreng);
        System.out.println("'" + understreng + "' fremkommer " + antall + " ganger.");
    }
}

For å bruke Apache Commons Lang, må du inkludere det i prosjektet ditt. Hvis du bruker Maven, legg til denne avhengigheten i pom.xml:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version> <!-- Sjekk for den nyeste versjonen -->
</dependency>

Output:

'behandling' fremkommer 2 ganger.