Die string1: "4-5%" und string2: "5%"
Die erwartete Ausgabe: "Prozent 4 bis Prozent 5", "Prozent 5".Regex: bedingte Substitution mit Gruppenname in Python
Meine 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)
Was ich für die erste (percent["string"]="4-5%"
) erhalten ist (?(range)percent 5 to)percent 7)
, und es funktioniert nicht für die zweite (wenn string = "5%")
Ich weiß, Der Wert des repl kann keine Bedingungen enthalten, aber (wie) kann ich implementieren, was ich will? Kann ich in diesem Zusammenhang nur zwei Regex verwenden?
3 regex tun? Überprüfe meine Antwort. – MYGz
Ich sah dies: http://StackOverflow.com/a/17476793/3552975 – lerner