/ / Optimiser une petite regex avec capture et assertion «?!» - php, regex, optimisation

Optimisation d'une petite regex avec capture et assertion «?!» - php, regex, optimisation

J'ai besoin d'exécuter une vérification importante sur plusieurs fichiers PHP avec les expressions régulières suivantes:

$this->(m_w+)(?!(.|v)*private $1)

Mais mon IDE (Sublime Text 2) dit qu'il s'épuisede l'espace de la pile tout en essayant de faire correspondre la regex. Cela fonctionne bien avec de très petits fichiers, mais aucun des fichiers que je dois vérifier n’est assez petit. Alors, comment optimiser les expressions rationnelles pour le laisser travailler sur un texte de n'importe quelle longueur?

Réponses:

4 pour la réponse № 1

Vous pouvez augmenter la vitesse de votre motif en utilisant ceci:

$this->(m_w++)(?!(?>[^p]++|Bp++|p(?!rivate $1b))++private $1b)