Je reçois un message d’erreur lorsque j’utilise cette expression :
J’ai vérifié le regex chez RegExr et il revient `` comme prévu. Mais quand je l’essaie en Python, j’obtiens ce message d’erreur:
Quelqu’un peut-il expliquer?
Je reçois un message d’erreur lorsque j’utilise cette expression :
J’ai vérifié le regex chez RegExr et il revient `` comme prévu. Mais quand je l’essaie en Python, j’obtiens ce message d’erreur:
Quelqu’un peut-il expliquer?
Il semble s’agir d’un bug python (qui fonctionne parfaitement dans vim). La source du problème est le (\s*...) + bit. Fondamentalement, vous ne pouvez pas faire `` ce qui a du sens, parce que vous essayez de répéter quelque chose qui peut être nul.
Cependant, `` cela ne devrait pas être nul, mais nous le savons uniquement parce que nous savons ce qu’il y a dans \1. Apparemment, python ne ... C’est bizarre.
Ce n’est pas seulement un bug Python avec * en fait, cela peut aussi arriver lorsque vous passez une chaîne dans le cadre de votre expression régulière à compiler, comme ;
cela provoquera une erreur si la ligne traitée contenait des « (+) » par exemple, comme vous pouvez le trouver dans les formules chimiques, ou de telles chaînes de caractères. la solution est de s’échapper mais quand vous le faites à la volée, il peut arriver que vous ne le fassiez pas correctement...
Au-delà du bug qui a été découvert et corrigé, je vais juste noter que le message d’erreur est un peu déroutant. J’essayais de l’utiliser
comme modèle, et je pensais qu’il se plaignait pour une raison étrange à propos du , mais le problème est en fait que c’est
une façon de dire « répéter zéro ou une fois ». J’avais donc besoin de dire pour correspondre à un littéral
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.