Supponiamo che sto cercando i collegamenti di ancoraggio in una pagina web. Una regex che funziona è:La mia espressione regolare è sia pigra che avida. Perché?
"\<a\s+.*?\>"
Tuttavia, consente di aggiungere una complicazione. Supponiamo che io voglia solo link che circondano un testo specifico, ad esempio la parola "next". Normalmente, penserei tutto quello che dovevo fare è:
"\<a\s+.*?\>next"
ma trovo che ora, se ci sono 3 i tag di ancoraggio in una pagina, e la terza ha 'prossimo' dopo, che la ricerca regex trova una stringa enorme che si estende dal primo tag di ancoraggio e si estende fino al terzo tag di ancoraggio. Questo ha senso se il punto-asterisco-punto interrogativo sta trovando tutti i caratteri finché non incontra "> successivo". Ma non è quello che voglio. Voglio trovare tutti i caratteri finché non viene visualizzato ">", quindi un ulteriore vincolo dovrebbe essere quello subito dopo ">" dovrebbe essere "successivo".
Come posso farlo funzionare?