La chaîne1: "4-5%" et chaîne2: "5%"
La sortie attendue: "pourcentage 4 à 5%", "pourcentage 5" respectivement.regex: substitut conditionnel avec nom de groupe en Python
Mon regex:
percent =
{
"pattern": "(?P<range>(?P<from>[\d.]+)(%)?[?\-~ ~〜~—])?(?P<to>[\d.]+)%",
"repl": r"(?(range)percent \g<from>to)percent\g<to>)",
"string": thestring
}
print re.sub(**percent)
Ce que je reçois pour la première (percent["string"]="4-5%"
) est (?(range)percent 5 to)percent 7)
, et il ne fonctionne pas pour la deuxième (lorsque string = "5%")
Je sais la valeur du repl ne peut pas contenir de conditions mais (comment) puis-je implémenter ce que je veux? Puis-je utiliser seulement deux regex dans ce contexte?
3 regex fera? Vérifie ma réponse – MYGz
J'ai vu ceci: http://stackoverflow.com/a/17476793/3552975 – lerner