Maison >Java >javaDidacticiel >Comment puis-je récupérer un tableau de correspondances Regex en Java ?

Comment puis-je récupérer un tableau de correspondances Regex en Java ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-03 12:06:15790parcourir

How Can I Retrieve an Array of Regex Matches in Java?

Récupération d'un tableau de correspondances Regex en Java

Problème :

Lors de l'utilisation d'expressions regex en Java, la méthode principale de vérification des correspondances renvoie uniquement une valeur booléenne, indiquant si une correspondance est présente ou non. Cela peut être limitant lorsque vous tentez de capturer et de stocker plusieurs instances correspondantes dans un tableau.

Solution :

Pour construire un tableau de toutes les correspondances de chaîne trouvées dans une chaîne donnée à l'aide d'une expression regex, suivez ces étapes :

  1. Créez un Matcher : Utilisez le modèle et Classes Matcher pour créer un objet Matcher. Cet objet vous permet de rechercher de manière itérative des correspondances dans la chaîne d'entrée.
  2. Itérer et collecter les correspondances : Utilisez la méthode find() de l'objet Matcher pour localiser les correspondances et la méthode group() pour récupérer les sous-chaîne correspondante. Continuez ce processus jusqu'à ce qu'aucune correspondance ne soit trouvée.
  3. Convertir en tableau : Une fois toutes les correspondances collectées, utilisez la méthode toArray() pour convertir la liste des correspondances en un tableau de chaînes. . Ce tableau contiendra toutes les chaînes qui satisfont à l'expression regex spécifiée.

Exemple de code :

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

public class RegexArray {

    public static void main(String[] args) {
        String input = "This is a sample string";
        String regex = "[a-z]+";

        // Create a Matcher object
        Matcher matcher = Pattern.compile(regex).matcher(input);

        // Collect matching substrings
        List<String> matches = new ArrayList<>();
        while (matcher.find()) {
            matches.add(matcher.group());
        }

        // Convert to string array
        String[] matchArray = matches.toArray(new String[0]);
    }
}

En mettant en œuvre ces étapes, vous pouvez capturer efficacement et stockez toutes les instances qui correspondent à une expression regex spécifiée dans un tableau, offrant ainsi une manière structurée et organisée de travailler avec des données correspondantes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn