est-il possible de construire une regex pour un ensemble de chaînes qui correspondra à la motion 1 ou au motif 2 où les deux motifs ont le même nombre de groupes de capture?
J'ai besoin de récupérer des segments de chaîne en indexation dans la matrice de Les groupes de capture indépendants de savoir si la chaîne correspondait à la motion 1 ou 2. P> donc chaque motif a 4 groupes. Les groupes 1,2,4 sont identiques. Le groupe 3 est manquant du motif 1. P> Je veux indexer tout résultat (modèle 1 ou 2) sur toute la gamme d'index de groupe (1,2,3,4). P> < / p>
3 Réponses :
Je suppose que vous souhaitez concevoir cette expression: L'expression est expliquée sur le panneau supérieur droit de REGEX101.COM , si vous souhaitez explorer / simplifier / le modifier / le modifier, et dans Ce lien , vous pouvez regarder comment cela correspondrait à certains échantillons d'intrants, si vous le souhaitez. p> JEX.IM visualise des expressions régulières: p> circuit de regex h3>
Avec cette regex, tous les groupes sont présents et éventuellement vides: Demo P> P>
Votre regex doit correspondre aux deux modèles donnés. Les réponses fournies combinent les deux modèles en un. Mais ils manquent de vérifier si l'un des motifs est réellement correct.
Alors j'ai ajouté le lookahead: p> ceci affirme que l'un des deux motifs correspond à l'un des deux motifs correspondant et Sans le lookahead, la regex correspondrait p> notez la partie ((?: \ d {10})?) code>, ce wwill Assurez-vous que le groupe 3ème capture sera égalé, même si c'est vide. P> P>
Quel est le but du regard positif? semble fonctionner bien sans elle
@Baltostar J'ai édité la réponse et j'ai fourni un exemple
Pouvez-vous donner un exemple?