Maison  >  Article  >  développement back-end  >  Combat d'expressions régulières PHP : correspondance des signes de ponctuation

Combat d'expressions régulières PHP : correspondance des signes de ponctuation

PHPz
PHPzoriginal
2023-06-23 08:03:072284parcourir

En programmation PHP, les expressions régulières sont un outil très couramment utilisé qui peut effectuer des opérations de correspondance et de remplacement rapides et efficaces sur des chaînes. Les signes de ponctuation sont des éléments de chaîne courants qui peuvent apporter une sémantique riche au texte. Cet article explique comment utiliser des expressions régulières pour faire correspondre les signes de ponctuation pour un traitement de texte plus intelligent.

1. Types de signes de ponctuation

Dans les expressions régulières, les signes de ponctuation ne sont pas un concept ou un type spécifique. Au lieu de cela, il fait référence à divers caractères spéciaux courants, tels que des virgules, des points, des points d'exclamation, des points d'interrogation, des points-virgules, etc. Ces signes de ponctuation sont largement utilisés dans divers domaines tels que la linguistique, la littérature et l'édition.

2. Méthodes de correspondance des signes de ponctuation

Dans les expressions régulières, vous pouvez faire correspondre divers signes de ponctuation en utilisant des caractères spéciaux ou des métacaractères. Voici quelques méthodes courantes de correspondance des signes de ponctuation :

  1. Faire correspondre les signes de ponctuation généraux

Les signes de ponctuation généraux font référence à des symboles courants tels que des virgules, des points, des points d'exclamation, des points d'interrogation, des points-virgules, des deux-points, etc. Vous pouvez utiliser des crochets [] pour les faire correspondre :

preg_match_all('/[,.?!;:]/', $text, $matches);
// 匹配逗号、句号、感叹号、问号、分号、冒号

Dans le code ci-dessus, utilisez la fonction preg_match_all et l'expression régulière '/[,.?!;:]/' pour faire correspondre toutes les virgules, points, points d'exclamation, points d'interrogation, points-virgules et deux points. Les crochets [] représentent un jeu de caractères contenant plusieurs caractères. Dans les expressions régulières, le point représente un caractère générique pour n'importe quel caractère et doit être échappé comme .

  1. Points de suspension correspondants

Un point de suspension est un symbole composé de trois points consécutifs, vous pouvez utiliser l'expression régulière '…' pour les faire correspondre :

preg_match_all('/…/', $text, $matches);
// 匹配省略号

Dans le code ci-dessus, utilisez la fonction preg_match_all et l'expression régulière '/ …' /' pour correspondre à toutes les ellipses. Le point entre les points de suspension doit être échappé comme .

  1. Match les guillemets doubles et les guillemets simples

Dans les programmes PHP, les guillemets doubles et les guillemets simples sont souvent utilisés pour définir des chaînes, et ces deux guillemets sont également des signes de ponctuation courants. Ils peuvent être mis en correspondance à l'aide de crochets [] :

preg_match_all('/["']/', $text, $matches);
// 匹配双引号和单引号

Dans le code ci-dessus, la fonction preg_match_all et l'expression régulière '/["']/' sont utilisées pour faire correspondre les guillemets doubles et les guillemets simples. Puisque l'expression régulière elle-même utilise également guillemets simples ou doubles, il doit donc être échappé comme ' ou ".

3. Analyse de cas

Afin de mieux comprendre la méthode de mise en correspondance des signes de ponctuation, un cas pratique sera démontré ci-dessous : compter le nombre de fois où divers signes de ponctuation sont utilisés dans un texte.

Tout d'abord, nous pouvons utiliser la fonction file_get_contents intégrée de PHP pour lire un fichier texte dans une variable de chaîne, puis utiliser la fonction preg_match_all pour faire correspondre tous les signes de ponctuation et les enregistrer dans un tableau :

$text = file_get_contents('article.txt');
preg_match_all('/[,.?!;:]/', $text, $matches);
$counts = array_count_values($matches[0]);
print_r($counts);

Dans le code ci-dessus, nous lire un morceau de texte à partir d'un fichier texte et utiliser l'expression régulière '/[,.?!;:]/' pour faire correspondre tous les signes de ponctuation qu'il contient. Ensuite, utilisez la fonction intégrée PHP array_count_values ​​​​​​pour compter le nombre d'occurrences de divers signes de ponctuation. Enfin, utilisez la fonction print_r pour afficher les résultats statistiques.

Si le fichier texte article.txt contient le contenu suivant :

Comment vas-tu ? Je vais bien, merci. Et toi ? Je m'appelle Mike. Ravi de vous rencontrer !

Alors la sortie du code ci-dessus. sera :

Array
(
    [,] => 2
    [.] => 3
    [?] => 2
)

Cela signifie que 2 virgules, 3 points et 2 points d'interrogation sont utilisés dans le texte ci-dessus.

4. Résumé

Cet article présente la méthode d'utilisation d'expressions régulières pour faire correspondre divers signes de ponctuation, y compris les signes de ponctuation généraux, les ellipses, les guillemets doubles et les guillemets simples, etc. Grâce à la démonstration de cas réels, nous pouvons voir que l'utilisation d'expressions régulières peut traiter facilement et efficacement diverses données textuelles, ce qui apporte beaucoup de commodité au développement de programmes. Dans le développement réel, nous pouvons choisir la méthode appropriée en fonction des besoins réels et exploiter pleinement la puissance des expressions régulières.

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