Voici mon code d'exemple Sortie attendue: strong>
p-123 code> p> p>
3 Réponses :
string = '[P-123,SHA-123]' pattern = re.compile(r"(P.\d*)", re.MULTILINE | re.IGNORECASE) result = pattern.search(string) print(result[1])
Vous pouvez essayer cette regex \ w ([AZ] - [0-9] *) code> que extraire une lettre majuscule suivez - puis des chiffres P-123
Si vous souhaitez faire correspondre ce format de données: explication em> p> La valeur est nommée groupe de capture Démo Regex | Demo Python P> Exemple code em> p>
^ code> début de chaîne li>
\ [ code> correspondez [ code> li>
(? p courbe code>
[A-Z] - \ D + CODE> correspondre à un seul caractère majuscule, - code> et 1+ chiffres li>
ul>
li>
) code> close group li>
, [A-Z] + - \ D + CODE> Match 1+ caractères majuscules - code> et 1 chiffre ++ li>
] code> correspondre ] code> li>
\ z code> fin de chaîne (ou utilisez $ code> si une nouvelle ligne après est autorisée) LI>
ul> courbe code>. Vous pouvez également utiliser re.match au lieu de re.search car vous recherchez un seul groupe dans toute la chaîne. P> P-123
Quel problème à faire face? S'il vous plaît mentionner ça aussi. Cela aidera la communauté à vous fournir l'aide.Si vous voulez que seul P ait précédé une combinaison de chiffres; Vous pouvez utiliser
(? i) p- \ d + code>Pourquoi vous attendez-vous à cette production? Votre regex dit spécifiquement de tout correspondre à travers le support carré droit et la fin de la chaîne