ci-dessous est l'expression régulière Python. Qu'est-ce que le ?: Code> signifie? Que fait l'expression globale? Comment correspondra-t-il une adresse MAC telle que " 00: 07: 32: 12: AC: DE: EF CODE>" re.compile(([\dA-Fa-f]{2}(?:[:-][\dA-Fa-f]{2}){5}), string)
3 Réponses :
Utiliser Votre regex signifie strong> p> espère que cela aide. P> < / p> ?: code> comme dans (?: ...) code> fait le groupe non-capturant pendant le remplacement. Pendant la recherche, il n'a aucun sens.
Merci, mais comment cette expression régulière correspond à Mac Adresse "00: 07: 32: 12: AC: DE: EF"
ya ça marche .. merci ... mais je veux la réponse en tant que groupe unique
Essayez ceci (? Est) \ b (?: [A-F0-9] {2}) (? :: [A-F0-9] {2}) {6} code>.
It Normalement, lorsque vous écrivez Vous pouvez obtenir aux différentes pièces correspondues par le regex en utilisant les méthodes dans le Comment cette expression régulière correspond à Mac Adresse "00: 07: 32: 12: AC: DE: EF"? P>
BlockQuote> C'est une question différente de ce que vous avez initialement demandé. Cependant, la partie REGEX est la suivante: p> la plupart des parenthèses extérieures sont capturer des parenthèses; Ce qu'ils entourent seront disponibles lorsque vous utilisez la regex contre une chaîne avec succès. p> Le (?: ...) code> signifie un ensemble de parenthèses de regroupement non capturant. (...) code> dans un Regex, il "capture" le matériau correspondant. Lorsque vous utilisez la version non capturée, il ne capture pas. P> re code> package après que le regex correspond à une chaîne particulière. P>
[\ da-fa-f] {2} code> correspond à un chiffre ( \ d code>) ou les chiffres hexadécimaux a-fa-f] code>, dans une paire {2} code>, suivi d'un groupe non capturant où le matériau correspondant est un côlon ou un tiret (: code> ou - code>), suivi d'une autre paire de chiffres hexagonales, avec l'ensemble répété exactement 5 fois. P> p = re.compile(^([\dA-Fa-f]{2}(?:[:-][\dA-Fa-f]{2}){5})$)
Merci, mais comment cette expression régulière correspond à Mac Adresse "00: 07: 32: 12: AC: DE: EF"
@rawb ... ça marche et cela aussi comme un groupe RE.Findall l'imprime comme un groupe unique
(?: ...) code> signifie un groupe non cathodique. Le groupe ne sera pas capturé. P>