Maison > Java > javaDidacticiel > Comment extraire des sous-chaînes entourées de guillemets simples à l'aide d'expressions régulières ?

Comment extraire des sous-chaînes entourées de guillemets simples à l'aide d'expressions régulières ?

Mary-Kate Olsen
Libérer: 2024-12-07 16:14:15
original
593 Les gens l'ont consulté

How to Extract Substrings Enclosed in Single Quotes Using Regular Expressions?

Extraction de sous-chaînes avec des expressions régulières : capture de données entourées de guillemets simples

Pour extraire des données spécifiques d'une chaîne entourée de guillemets simples, les expressions régulières (regex) fournissent une solution efficace. Voici un guide étape par étape sur la façon d'extraire de telles sous-chaînes à l'aide de regex :

Étape 1 : Définir l'expression régulière

Pour isoler le texte entre guillemets simples, nous définissons un modèle d'expression régulière qui capture le texte entre les caractères englobants :

"'(.*?)'"
Copier après la connexion

Dans ce pattern:

  • ' correspond au guillemet simple d'ouverture.
  • (.*?) est un groupe de capture qui correspond à n'importe quel caractère entre les guillemets simples d'une manière non gourmande. Le point d'interrogation ? garantit qu'il correspond au moins de caractères possible.
  • ' correspond au guillemet simple de fermeture.

Étape 2 : Appliquer l'expression régulière

Une fois le motif défini, nous l'appliquons à la chaîne cible à l'aide d'un Matcher :

Pattern pattern = Pattern.compile("'(.*?)'");
Matcher matcher = pattern.matcher(mydata);
Copier après la connexion

Les classes Pattern et Matcher fournissent des méthodes pour interagir avec les expressions régulières.

Étape 3 : Récupérer les données capturées

En supposant qu'une correspondance soit trouvée, nous récupérons le texte capturé en utilisant la méthode group(1) de the Matcher :

if (matcher.find())
{
    System.out.println(matcher.group(1));
}
Copier après la connexion

La méthode group(1) renvoie le contenu du premier groupe de capture, qui contient le contenu extrait sous-chaîne.

Exemple :

Considérez le code suivant :

String mydata = "some string with 'the data i want' inside";
Pattern pattern = Pattern.compile("'(.*?)'");
Matcher matcher = pattern.matcher(mydata);
if (matcher.find())
{
    System.out.println(matcher.group(1));
}
Copier après la connexion

Sortie :

the data i want
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal