J'ai besoin d'une RegEx pour formater les numéros de vol afin de conserver le code de la lettre et les chiffres suivants, mais omettre le zéro initial s'il est seul et que le nombre total de chiffres est d'au moins quatre. Cela est utilisé dans iOS Shortcuts qui est un flux de travail simplifié avec des actions. Je peux utiliser une action de correspondance avec RegEx. Exemples de résultats souhaités:
SK0498 devrait retourner SK498 (nombre total de chiffres = 4 = omettre le zéro initial unique)
AA007 devrait toujours retourner AA007 (parce que les zéros initiaux sont doublés, et le nombre total de chiffres est seulement 3)
UA2138 retourne UA2138 (pas de zéros initiaux impliqués)
BA023 devrait retourner BA023 (garder le zéro car le nombre total de chiffres est seulement 3), cependant BA0234 devrait retourner BA234 (nombre total de chiffres est 4 avec un seul zéro initial qui doit être omis).
Je ne suis pas doué avec RedEx mais jusqu'à présent, j'ai compris (?=0*)(00)*([1-9][\d]*)
. Cela omet correctement le premier zéro tant qu'il n'est pas double mais je suis seulement à mi-chemin. Je veux aussi qu'il renvoie le code de la lettre, tout en respectant la règle des 4 chiffres minimum pour que le zéro initial soit omis. (Si la chaîne contient 4 chiffres avec un seul zéro initial, omettre le premier, sinon le garder). Si c'est même possible avec autant de critères, comment cela doit-il être?