Utilisation du suivi regex:En utilisant l'évaluation paresseuse sur une grande expression régulière (et pas seulement *.?)
\[\w* \w* \d{2} [\w:]* \d{4}\] \[error\] \[client .*?\] .*? Using HTTP not .*?<br />
Je reçois les résultats suivants (où cases jaunes indiquent un match):
texte brut:http://pastebin.com/vSi0mLGv
Les deux sections du bas sont correc t. Je veux toutes les sections qui contiennent: <<<NOTICE>>> Non-Prod Server: Using HTTP not HTTP/S
La partie supérieure contient cependant la chaîne correcte (similaire aux deux bas), mais vient aussi avec un tout autre morceau que je ne veux pas:
[Thu May 10 17:43:48 2012] [error] [client ::1] Current Name:
DashboardBar_projAnnualReview200, referer: http://
localhost/test/pages/TestPage.php<br />`
Je sais que cela revient à regex étant gourmand, mais comment puis-je faire pour faire une évaluation paresseux pour le <br />
, si c'est même la bonne façon de s'y prendre. J'ai essayé (<br />)*?
et d'autres en vain.
Autres informations: J'utilise Sublime Text 2, et d'effectuer une recherche regex si quelqu'un a voulu recréer l'image.
Just FYI, [évaluation paresseuse] (http://en.wikipedia.org/wiki/Lazy_evaluation) n'a rien à voir avec regexes. Le mot "paresseux" a été utilisé très tôt pour décrire la variante non gourmande des quantificateurs regex, et c'était une erreur. "Non-avide" est un mot bien meilleur pour eux, et "réticent" encore plus précis. –