J'ai lutté avec cela toute la matinée. En espérant que certains gourous regex peuvent me diriger dans la bonne direction. Fondamentalement, j'utilise regex pour comparer deux valeurs de chaîne. La même regex doit être appliquée aux deux chaînes, et si toutes les valeurs de tous les groupes nommés correspondent, nous considérons la chaîne équivalente (cette vérification de groupe nommé est faite dans le code).Regex de capture nommé avec deux variantes
Pour les chaînes, j'ai quelque chose comme "jw-cst" qui doit être comparé à "cst". La regex dont j'ai besoin devrait considérer ces équivalents, car tout ce qui précède et incluant le '-' ne devrait pas être capturé dans le groupe nommé.
Alors ...
jw-cst -> Valeur de capture groupe = "cst" cst -> Valeur de capture groupe = "cst"
Le nom du groupe de capture est hors de propos, l'application Je travaille avec simplement des boucles à travers chaque groupe capturé s'assure qu'ils correspondent aux deux résultats.
Jusqu'à présent, j'ai ceci: (?... (< = -) | *)
Mais il semble utiliser la deuxième condition de correspondance ... donc toujours des retours "jw-cst" au lieu de simplement "cst". Si j'enlève la deuxième alternative (. *), Cela correspondra correctement ... Toute aide serait grandement appréciée.
Est-ce seulement le type de chaîne sur lequel vous travaillez? Dans ce cas, un simple '/-((**)$/' suffirait. Mais je suis sûr que c'est plus compliqué. Alors pouvez-vous fournir une vraie chaîne et ce que vous attendez de correspondre? – Pierre
Vous devez donner des exemples spécifiques et complets de bonnes entrées et de mauvaises entrées. – tchrist
Un ensemble de chaînes sera composé de 2 ou 3 caractères (initiales, c.-à-d. BL ou MRK), l'autre jeu de chaînes sera le même que le précédent (initiales, c.-à-d. BL ou MRK) ou une combinaison de deux initiales , jamais plus (ie BL-MRK ou DLN-MRK). Je serai toujours en correspondance avec le second jeu d'initiales (c'est-à-dire si la chaîne est BL-MRK, je ne suis intéressé que par la partie MRK). Exemples: 1) ALK 2) ALK capture: ALK 1) BLK-CRS 2) CRS Capture: CRS 1) DN-ELB 2) ELB Capture: ELB 1) FN-GA 2) GA capture: GA – Jason