Comment obtenir automatiquement le code de vérification SMS ?

Cliquez ci-dessous pour me suivre, puis cliquez sur... "Définir comme étoile" dans le coin supérieur droit pour recevoir les mises à jour dès que possible~~~

Cet article explique en outre comment utiliser les règles habituelles en Java en résolvant le problème de l'obtention automatique des codes de vérification SMS rencontré dans le développement réel du projet.

Comment utiliser les expressions régulières en Java

Les classes liées à la régularité en Java se trouvent sous le package java.util.regex. Deux classes principales sont utilisées, comme suit :

3d734c8e6851f1e41175b7f37db932ff.png

Classe de modèle :

Le modèle est une représentation compilée d'une expression régulière regex

ff9a8a5370fa14bfbb511e9a8ee229ad.png

Classe de correspondance :

Un moteur qui effectue des opérations de correspondance sur la chaîne d'entrée en interprétant Pattern

f9249ed17376ec51ef84b839c1887de2.png

Remarque : Dans le code Java, le caractère d'échappement "\" doit être écrit sous la forme "\\" pour représenter un "\".

Par exemple, regex=\d doit être écrit sous la forme "\\d" dans le code Java.


Question pratique : Comment obtenir automatiquement le code de vérification SMS ?

Les codes de vérification SMS sont largement utilisés sur Internet actuel. Dans certaines opérations importantes, vous devez saisir des codes de vérification SMS pour vérifier les informations d'identité.

Répertoriez le contenu de 3 messages texte de code de vérification différents comme suit :

1. [Vélo de culte] Votre code de vérification est 5072. Veuillez soumettre le code de vérification sur la page pour terminer la vérification.

2. [Dianping] 876529 (code de vérification du téléphone mobile Dianping.com, veuillez terminer la vérification). Si cela n'est pas fait par vous-même, veuillez ignorer ce message.

3. [Baidu] 349865 (code de vérification dynamique), veuillez le remplir dans les 30 minutes.

Alors, comment utiliser une expression régulière pour obtenir les codes de vérification numérique dans trois types différents de contenu de message texte ?

Tout d’abord, analysez le contenu des trois messages texte ci-dessus et découvrez ce qu’ils ont en commun :

1. Le code de vérification est composé uniquement de chiffres, il peut être composé de 4 ou 6 chiffres.

2. Chaque message texte contient 3 caractères chinois pour le « code de vérification »

3. La relation séquentielle entre les trois mots « Code de vérification » et les chiffres. Les trois mots « Code de vérification » peuvent être avant ou après les chiffres.

Avec les trois points ci-dessus, nous pouvons écrire des expressions régulières dans l'outil régulier de vérification.

1. Les nombres à 4 ou 6 chiffres peuvent être associés à "\d{4}|\d{6}". Nous utilisons capture group () pour obtenir la partie numérique, c'est-à-dire regex=(\d{4 }|\d{6})

2. Utilisez le « code de vérification » pour correspondre au code de vérification à 3 caractères, regex=code de vérification

3. Les 3 caractères du "Code de vérification" sont avant les chiffres, vous pouvez regex=Code de vérification\D*(\d{4}|\d{6}), les 3 caractères du "Code de vérification" sont après les chiffres , vous pouvez regex=( \d{4}|\d{6})\D*Code de vérification, ces deux expressions sont dans une relation de ou, vous devez utiliser des parenthèses pour organiser ces deux expressions, puis utiliser ou " |" pour sélectionner , c'est-à-dire regex=(Code de vérification\D*(\d{4}|\d{6}))|((\d{4}|\d{6})\D*Code de vérification )

4. Puisque nous devons obtenir le contenu numérique via le groupe de capture () et utiliser des parenthèses pour organiser la relation, nous devons marquer la partie expression des deux côtés du ou "|" avec un groupe de non-capture (? :) , car nous avons seulement besoin d'obtenir Le nombre correspondant aux parenthèses ( ) dans la partie numérique. Autrement dit, regex=(?:Verification code\D*(\d{4}|\d{6}))|(?:(\d{4}|\d{6})\D*Verification code)

Si vous ne comprenez pas ici, veuillez lire le contenu pertinent de « Apprendre la grammaire des expressions régulières dans un article » .

Enfin, nous substituons l'expression analysée dans du code Java pour compléter la fonction. Notez qu'en Java, les barres obliques inverses doivent être échappées, c'est-à-dire qu'un tiret devient deux tirets.

a1b4e97ba2a4ee230116e68df34e1ff4.png

Les résultats en cours d'exécution sont les suivants :

5084513b5dcda9136d720f4b73d8c624.png

Si vous souhaitez obtenir le code source ci-dessus, veuillez répondre avec le mot-clé « code source régulier » en arrière-plan pour l'obtenir.


Recommandez un outil régulier " RegexBuddy " pour obtenir le mot-clé " expression régulière " en arrière-plan.

Je suppose que tu aimes

Origine blog.csdn.net/z123456789XDW/article/details/133109133
conseillé
Classement