J'ai le groupe de chiffres ... quelqu'un connaît-il un RegEx qui correspondra et combinera les éléments suivants:
BG18.RZBB.9155.0123.4567
BG18 RZBB 9155 0123 4567
BG18RZBB91550123456789
BG18-RZBB-9155-0123-4567
@ DavidPostil Je ne sais vraiment pas comment l'expliquer plus clairement. J'essaie simplement d'écrire un REGEX dans lequel je peux combiner ces chiffres, points, traits d'union, espaces, lettres minuscules et zéros sans espaces. Je vais ajouter dans la chaîne de test dans REGEx101 exécuter l'expression et je devrais obtenir une correspondance.
Mon effort est comme suit:
BG\d{2}[ -.]\d{4}[ -.]\d{3}[ -.]\d{4}[ -.]\d{4|\bCH\d{22}\b
sed
quelques-unes de vos options.) S'il vous plaît ne répondez pas dans les commentaires; modifier votre question pour la rendre plus claire et plus complète.Réponses:
Comme @Davidpostill dit que votre question nécessite plus de précisions, car elle dépend du langage de programmation / script Mais si vous l'avez utilisé sur regex101.com en ligne. J'ai copié cela dans la zone de saisie.
Et entré votre expression régulière avec quelques modifications.
Je pense que lorsque vous parlez de combiner, vous souhaitez probablement les utiliser comme référence arrière. Dans ce cas, vous avez besoin d'une parenthèse.
Explication:
B*
, chaîne contient "B" caractère zéro ou plusieurs fois.G
, la chaîne suit avec le caractère "G" exact une seule fois.\d{2}
, la chaîne suit avec 2 chiffres (0-9)[ -.]
, chaîne suivie avec l’un de ces caractères entre parenthèses carrées. ( "", "-". "." )..........
(\d{4})
, enfin, la chaîne suit avec 4 chiffres. Et groupez ceci pour y accéder dans le champ de remplacement.Vous pouvez donc accéder aux 4 derniers chiffres en remplaçant le champ en tapant " 1 $ " (sans citations).
Cela ne correspond pas seulement à cette ligne
Car après "B * G \ d {2}" cette partie de regex doit suivre avec n'importe quel caractère "", "-", "." donc il brise les allumettes dans cette étape
la source