Maison  >  Article  >  développement back-end  >  Expression régulière PHP en action : correspondance au format JSON

Expression régulière PHP en action : correspondance au format JSON

WBOY
WBOYoriginal
2023-06-22 19:50:572371parcourir

Avec le développement croissant de la technologie Internet et de l'interaction des données, JSON (JavaScript Object Notation), en tant que format d'échange de données léger, a été largement utilisé dans le développement front-end et back-end. Dans le développement PHP, nous devons souvent utiliser des expressions régulières pour faire correspondre et traiter les données au format JSON. Dans cet article, nous verrons comment faire correspondre le format JSON dans les expressions régulières PHP réelles.

1. Introduction au format JSON

Le format JSON se compose principalement d'accolades, de crochets, de virgules, de deux-points et de guillemets doubles. Les accolades sont utilisées pour représenter des objets, les crochets sont utilisés pour représenter des tableaux et les virgules sont utilisées pour séparer les tableaux et. objets. Différents éléments de , les deux-points sont utilisés pour séparer les paires clé-valeur dans l'objet et les guillemets doubles sont utilisés pour représenter les chaînes.

Un format JSON typique est le suivant :

{
    "name": "Tom",
    "age": 20,
    "hobbies": ["reading", "music"],
    "address": {
        "province": "Guangdong",
        "city": "Shenzhen"
    }
}

2. Syntaxe de base des expressions régulières PHP

Avant d'apprendre comment faire correspondre le format JSON, comprenons brièvement la syntaxe de base des expressions régulières PHP.

  1. Rechercher des caractères

Dans les expressions régulières, "." est généralement utilisé pour faire correspondre n'importe quel caractère à l'exception des nouvelles lignes, "d" est utilisé pour faire correspondre des chiffres, "w" est utilisé pour faire correspondre des lettres, des chiffres et des traits de soulignement, et "s". " pour faire correspondre les caractères d'espacement.

  1. Faire correspondre les caractères spéciaux

Si nous voulons faire correspondre certains caractères spéciaux, tels que le point ".", la barre oblique inverse "", la barre verticale "|", etc., nous devons utiliser l'échappement par barre oblique inverse, c'est-à-dire ". ", " ","|".

  1. Quantité de correspondances

"*" représente n'importe quel nombre, "+" représente au moins un, "?" représente zéro ou un, "{n}" représente exactement n, "{n,}" représente au moins n, "{n,m}" représente n à m.

  1. Position correspondante

"^" représente le début de la ligne, "$" représente la fin de la ligne et " " représente la limite du mot.

3. Exemple de correspondance au format JSON

Dans le développement réel, nous devons souvent traiter et analyser des chaînes au format JSON, par exemple vérifier si le format JSON est correct, extraire des données au format JSON, etc. Voici quelques exigences courantes et exemples d'expressions régulières pour faire correspondre le format JSON :

  1. Faire correspondre les chaînes contenant le format JSON
    Si nous voulons savoir si une chaîne contient le format JSON, nous pouvons utiliser l'expression régulière suivante :
preg_match('/{.*}/', $str, $match)

Parmi elles, "{" et "}" correspondent respectivement aux accolades et ".*" correspond à n'importe quel caractère entre accolades.

  1. Vérifiez si le format JSON est correct
    Si nous voulons déterminer si une chaîne JSON est conforme à la spécification du format JSON, nous pouvons utiliser la fonction json_decode() pour l'analyser. Si l'analyse est réussie, cela signifie que le JSON. le format est correct, sinon cela signifie que le format est erroné. L'exemple de code est le suivant :
function is_json($str) {
    $json = json_decode($str);
    return $json && $str != $json;
}
  1. Extraire les données au format JSON
    Si nous voulons extraire une certaine valeur de champ au format JSON, nous pouvons utiliser l'expression régulière suivante :
preg_match('/"field_name":s*"([^"]+)"/', $str, $match)

Où, "(?< =") field_name(?=")" correspond au nom de la clé, "(1+)" correspond à la valeur de la clé.

  1. Match les tableaux JSON
    Si nous voulons faire correspondre des tableaux au format JSON, nous pouvons utiliser les expressions régulières suivantes :
preg_match('/[[^]]*]/', $str, $match)

Parmi eux, "[" et "]" correspondent respectivement aux crochets, et "[^]] " correspond à tout sauf n'importe quel caractère sauf "]".

  1. Faire correspondre des objets JSON
    Si nous voulons faire correspondre des objets au format JSON, nous pouvons utiliser les expressions régulières suivantes :
preg_match('/{.*}/', $str, $match)

Parmi elles, "{" et "}" correspondent respectivement aux accolades, et ".*" correspond à l'intérieur renforce n’importe quel personnage.

IV.Résumé

Cet article présente principalement certaines techniques et méthodes courantes pour faire correspondre le format JSON dans la pratique des expressions régulières PHP. Différents scénarios et exigences nécessitent l'utilisation de différentes expressions régulières pour faire correspondre et traiter les données au format JSON. Dans le développement réel, nous pouvons choisir des expressions régulières appropriées pour la correspondance et le traitement en fonction des besoins spécifiques de l'entreprise, rendant notre code plus robuste et plus lisible.


  1. "

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