Maison > Article > développement back-end > Expression régulière PHP en action : correspondance au format JSON
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.
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.
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 ". ", " ","|".
"*" 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.
"^" 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 :
preg_match('/{.*}/', $str, $match)
Parmi elles, "{" et "}" correspondent respectivement aux accolades et ".*" correspond à n'importe quel caractère entre accolades.
function is_json($str) { $json = json_decode($str); return $json && $str != $json; }
preg_match('/"field_name":s*"([^"]+)"/', $str, $match)
Où, "(?< =") field_name(?=")" correspond au nom de la clé, "(1+)" correspond à la valeur de la clé.
preg_match('/[[^]]*]/', $str, $match)
Parmi eux, "[" et "]" correspondent respectivement aux crochets, et "[^]] " correspond à tout sauf n'importe quel caractère sauf "]".
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.
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!