9
votes

Qu'est-ce que (? <= X) signifie dans regex?

Qu'est-ce que (? <= x) signifie dans regex?

Au fait, j'ai lu le manuel ici .


0 commentaires

5 Réponses :


2
votes

du python re Documentation:

(? <= ... ...)

Correspond à des correspondances Si la position actuelle de la chaîne est précédée d'une correspondance pour ... qui se termine à la position actuelle. C'est ce qu'on appelle une affirmation positive de regarder. (? <= abc) def trouvera une correspondance dans abcdef , puisque le lookbehind sauvegardera 3 caractères et vérifiera si le modèle contenu correspond si le modèle contenu correspond à la correspondance. Le motif contenu doit correspondre uniquement aux chaînes de certaines longueurs fixes, ce qui signifie que abc ou a | b est autorisé, mais a * et un {3,4} ne le sont pas. Notez que les modèles qui commencent par des assertions positives de la vue sur la vue positive ne correspondront jamais au début de la recherche de chaîne; Vous voudrez probablement utiliser la fonction de recherche () plutôt que la fonction correspondante (): xxx

Cet exemple recherche un mot suivant un trait d'union: xxx


0 commentaires


1
votes

de régulier-expressions.info :

Looke émetteur positif de largeur zéro. Correspond à une position Si le motif à l'intérieur du lookahead peut être assorti à cette position (c'est-à-dire à gauche de cette position). En fonction de la saveur de regex que vous utilisez, vous ne pourrez peut-être pas utiliser de quantifiers et / ou d'alternance à l'intérieur de Lookebehind.


0 commentaires

2
votes

C'est ce qu'on appelle un look positif de derrière, il regarde en arrière pour le personnage X, note que cela n'est pas pris en charge par JavaScript. Pour une référence future, Voici un meilleur manuel :)


1 commentaires

+1 Pour mentionner la prise en charge de JavaScript de cette fonctionnalité d'expression régulière.



1
votes

0 commentaires