Comment combiner une expression RegEx afin qu'elle corresponde. - \ espaces et sans espaces zéros et majuscules et minuscules

-1

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
mmohan
la source
1
Vous devez travailler pour expliquer vos questions. Qu'entendez-vous exactement par "associer et combiner"?
DavidPostill
@DavidPostill --- J'ai quatre groupes de nombres les quatre groupes de numéros que j'ai essayés BE \ d {2} [-.] \ d {4} [-.] \ d {3} [-.] \ d {4} [-.] \ d {4 | \ bBE \ d {22} \ b Je lirai les tutoriels à votre demande
mmohan
S'il vous plaît modifier la question et montrer exactement ce que vous attendez de la sortie être pour chacun des contributions
DavidPostill
Les expressions régulières correspondent aux chaînes (c'est-à-dire aux séquences de caractères ou aux blocs de texte); ils ne modifient pas les chaînes de texte (par exemple, les combinent). Pour ce faire, vous avez besoin d'un outil - une commande / programme / utilitaire. Avez-vous un en tête? Qu'est-ce que c'est? (Indice: Notepad ++ et 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.
Scott

Réponses:

0

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.

G18.RZBB.9155.0123.4567

BG18 RZBB 9155 0123 4567

BG18RZBB91550123456789

BG18-RZBB-9155-0123-4567

Et entré votre expression régulière avec quelques modifications.

B*G\d{2}[ -.]\w{4}[ -.]\d{4}[ -.]\d{4}[ -.](\d{4})

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

BG18RZBB91550123456789

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

makgun
la source