RegEx pour extraire la dernière combinaison de nombres d'un paragraphe
Par exemple :
"Mon identifiant est le 112243 et mon numéro de téléphone est le 0987654321. Merci."
Je veux donc extraire le numéro de téléphone ici, qui est la dernière combinaison de chiffres.
3 Réponses :
Vous pouvez utiliser cette expression régulière,
const s = 'My ID is 112243 and my phone number is 0987654321. Thanks you.' console.log(s.match(/\d+(?=\D*$)/))
Ici, \ d +
sélectionne un ou plusieurs nombres et cette anticipation positive (? = \ D * $ )
garantit que si quelque chose est présent plus loin avant la fin de la chaîne, ce n'est pas un chiffre (en utilisant \ D *
avant $
).
Démo du code JS,
\d+(?=\D*$)
var string = "My ID is 112243 and my phone number is 0987654321. Thanks you"; var numbers = string.match(/\d+/g).map(Number); console.log(numbers);
Il vous donnera tous les combos de nombres dans un tableau. Vous pouvez choisir celui que vous voulez.
Vous pouvez également utiliser une expression régulière simple comme ^. * \ b (\ d +)
var str = 'My ID is 112243 and my phone number is 0987654321. Thanks you'; var num = str.match(/^.*\b(\d+)/)[1]; console.log(num);
. *
consommera tout ce qui est avant le dernier \ b code> limite du mot suivi de \ d +
chiffres.
\ d +
capturera le trucs à l'intérieur de [1
[\ s \ S] * au lieu de . *
pour ignorer les nouvelles lignes. Merci. Fonctionnement et meilleur pour le document multiligne. C'est exactement ce dont j'avais besoin.
Votre identifiant sera-t-il toujours le même nombre de numéros? Vous pouvez essayer d'obtenir une expression régulière basée sur le modèle de numéro de téléphone pour l'extraire.
Qu'as-tu fait jusqu'ici? Quel problème rencontrez-vous?