Maîtrisez les caractères de chaîne de vérification régulière et effectuez facilement la correspondance de chaînes

La validation régulière des chaînes est un outil puissant qui peut aider les programmeurs à effectuer facilement des correspondances complexes lors du traitement des chaînes. Cet article présentera le concept, la syntaxe et l'application des expressions régulières en programmation et démontrera, à travers des exemples, comment utiliser les expressions régulières pour les opérations de correspondance, de remplacement et d'extraction de chaînes.

1. Présentation des expressions régulières
En programmation, le traitement des chaînes est une partie inévitable. Nous devons souvent valider les données saisies par l'utilisateur, extraire des informations textuelles, remplacer des caractères spécifiques, etc. Dans ces scénarios, Regex Validation nous fournit une méthode de traitement efficace et flexible.
Les expressions régulières sont un outil puissant pour décrire des modèles de chaînes. Il se compose d'une série de caractères spéciaux et de règles qui peuvent être utilisés pour faire correspondre des chaînes correspondant à des modèles spécifiques. Les expressions régulières peuvent être utilisées dans de nombreux langages de programmation, tels que Python, Java, JavaScript, etc. Dans cet article, nous expliquons principalement comment implémenter une vérification régulière des caractères de chaîne en Java.

2. Syntaxe des expressions régulières
La syntaxe des expressions régulières comprend les parties suivantes :

  1. Métacaractères : décrivent les attributs du caractère lui-même, tels que .(point) représente n'importe quel caractère, * (astérisque) représente le nombre de répétitions du caractère précédent et + (signe plus) représente le nombre de répétitions du caractère précédent supérieur. supérieur ou égal à 1 fois.
  2. Classe de caractères : représentée par des crochets [], qui peuvent inclure des chiffres, des lettres, des caractères spéciaux, etc., tels que [az] représentant des lettres minuscules.
  3. Caractère d'échappement : représenté par une barre oblique inverse\, utilisé pour échapper aux caractères spéciaux, tels que \d représente n'importe quel nombre.
  4. Sélecteur : représenté par une barre verticale |, utilisé pour sélectionner l'un des multiples modèles, tel que a|b signifie faire correspondre le caractère a ou b.
  5. Qualificateur : décrit le nombre de répétitions du motif, par exemple {n} indiquant n fois.
  6. Localisateur : décrit la position du motif, par exemple ^ représente le début de la ligne, $ représente la fin de la ligne.

3. Opérations sur les expressions régulières
La maîtrise de la syntaxe des expressions régulières est la base. Nous présenterons ci-dessous plusieurs opérations courantes :

  1. Correspondance de chaîne : utilisez l'opérateur de correspondance (=) pour vérifier si une chaîne correspond à un modèle spécifique. Par exemple, ^[az]+$ signifie vérifier si la chaîne est composée de lettres minuscules.
  2. Remplacement de chaîne : utilisez l'opérateur de remplacement (s/…/…/) pour remplacer une chaîne correspondant à un modèle spécifique par une autre chaîne. Par exemple, s/world/China/g signifie remplacer toutes les occurrences de « world » par « China ».
  3. Extraction de chaînes : utilisez l'opérateur de capture (()) pour extraire les chaînes qui correspondent à un modèle spécifique. Par exemple, ([az]+) signifie extraire une chaîne composée de lettres minuscules.

4. Scénarios d'application des expressions régulières
Les expressions régulières peuvent être appliquées dans de nombreux scénarios. Voici quelques exemples :

  1. Valider la saisie de l'utilisateur : vous pouvez utiliser des expressions régulières pour vérifier si les données saisies par l'utilisateur sont conformes à un format spécifique, tel que le numéro de téléphone portable, l'adresse e-mail, etc.
  2. Nettoyage des données : vous pouvez utiliser des expressions régulières pour supprimer les espaces supplémentaires, les caractères spéciaux, etc. dans le texte.
  3. Extraction d'informations : les expressions régulières peuvent être utilisées pour extraire les informations requises, telles que les dates, les montants, etc., à partir de grandes sections de texte.
  4. Tests automatisés : les expressions régulières peuvent être utilisées pour générer des cas de test afin d'améliorer la couverture des tests.
  5. Analyse de sécurité : les expressions régulières peuvent être utilisées pour identifier les vulnérabilités de sécurité potentielles, telles que l'injection SQL, les attaques de scripts intersites, etc.

Examinons ensuite un exemple de code Java spécifique à une application d’expression régulière :

// 类名:RegexValidator
// 函数名:validateString
// 函数功能:正则验证字符串
// POM依赖包:无

import java.util.regex.Pattern;

public class RegexValidator {
    /**
     * 正则验证字符串
     * @param regex 正则表达式
     * @param str 待验证的字符串
     * @return 是否匹配正则表达式
     */
    public static boolean validateString(String regex, String str) {
        if (regex == null || str == null) { // 检查入参是否为空
            throw new IllegalArgumentException("Regex and string cannot be null"); // 抛出异常,正则表达式和字符串不能为空
        }

        Pattern pattern = Pattern.compile(regex); // 编译正则表达式
        return pattern.matcher(str).matches(); // 使用正则表达式匹配字符串,并返回结果
    }
}

// 函数示例
// 正则验证字符串示例
// 入参:regex,正则表达式;str,待验证的字符串
// 出参:isValid,是否匹配正则表达式
// 调用示例:
// String regex = "\\d+";
// String str = "12345";
// boolean isValid = RegexValidator.validateString(regex, str);
// System.out.println(isValid);
// 输出结果:例如,通过正则表达式"\\d+"验证字符串"12345",结果为:true
// 则输出结果为:true

Le code ci-dessus définit une classe nommée RegexValidator, qui contient une méthode statique nommée validateString. Cette méthode reçoit deux paramètres de chaîne : l'un est une expression régulière (regex) et l'autre est une chaîne qui doit être vérifiée (str).

Dans le corps de la méthode, nous vérifions d’abord si les deux paramètres sont vides, et si c’est le cas, une exception est levée. Ensuite, l'expression régulière est compilée à l'aide de la méthode Pattern.compile et un objet Pattern est créé. Enfin, utilisez la méthode matcher et la méthode matches de cet objet Pattern pour vérifier si la chaîne d'entrée correspond à l'expression régulière.

Il convient de noter que ce code est généré par FuncGPT (Hui Function), un générateur de fonctions Java dédié généré par l'IA et lancé par le robot logiciel Feisuan SoFlu. En d’autres termes, il s’agit d’un exemple de code généré automatiquement par la technologie IA. Un tel exemple de code généré en quelques secondes peut-il aider les développeurs à l'appliquer directement au travail réel ? Quelle est la qualité du code ? Nous avons tapé le code dans Wen Xinyiyan et lui avons demandé d'évaluer le code ci-dessus. Les commentaires donnés ont été qu'il s'agit d'un code de haute qualité, de bonne lisibilité, de maintenabilité et de robustesse.

5. Résumé et Outlook
Une vérification régulière des caractères de chaîne peut aider les programmeurs à effectuer facilement des correspondances complexes lors du traitement des chaînes. En apprenant la syntaxe et les opérations des expressions régulières, nous pouvons mieux gérer divers scénarios de traitement de chaînes. Avec le développement continu de la technologie, les expressions régulières ont des perspectives d'application plus larges et joueront à l'avenir un rôle plus important dans le traitement des données, le traitement du langage naturel et d'autres domaines. Sur la base de la maîtrise d'une syntaxe et d'opérations spécifiques, les développeurs peuvent également sélectionner des outils de qualité garantie tels que le robot logiciel SoFlu FuncGPT pour les aider à améliorer l'efficacité du développement. Lien de téléchargement gratuit : https://a.d4t.cn/AtH5SZ

Alibaba Cloud a subi une grave panne et tous les produits ont été affectés (restaurés). Tumblr a refroidi le système d'exploitation russe Aurora OS 5.0. La nouvelle interface utilisateur a fait ses débuts avec Delphi 12, C++ Builder 12 et RAD Studio 12. De nombreuses sociétés Internet recrutent de toute urgence des programmeurs Hongmeng. UNIX Le temps est sur le point d'entrer dans l'ère des 1,7 milliards (déjà entrée). Meituan recrute des troupes et envisage de développer l'application du système Hongmeng. Amazon développe un système d'exploitation basé sur Linux pour se débarrasser de la dépendance d'Android à l'égard de .NET 8 sous Linux. La taille indépendante est réduit de 50 %. Sortie de FFmpeg 6.1 "Heaviside"
{{o.name}}
{{m.nom}}

Je suppose que tu aimes

Origine my.oschina.net/u/4868096/blog/10140251
conseillé
Classement