Riconosco questo schema
<.*>
Dalla stringa
<a href="hello world">Hi Baby</a>
Ora, ci sono diverse corrispondenze
<a href="hello world">
è una corrispondenza
<a href="hello world">Hi Baby</a>
è anche una corrispondenza.
Tuttavia, questo è molto confuso. Ho pensato che l'espressione regolare venisse risolta con determinati automi finiti.
Quindi immagino che gli automatici definiti definitivi vadano a ogni lettera. uno per uno. Tuttavia, sarebbe in qualche modo succursale. Penserebbe che il primo > è arte della chiusura > nel modello. Può anche significare parte del. modello.
Quindi come decide?
In vb.net, sembra che il pattern che viene riconosciuto sia il secondo. Ecco perché devo sostituire il modello con
<[^>]*>
se voglio che il pattern corrisponda al primo (ad esempio, voglio eliminare tutti i tag html da una stringa)
E perché? Cosa fa realmente vb per selezionare la seconda stringa come quelli che corrispondono al modello?
Ho sentito dire che vb è "goloso". Corrisponde alla stringa più lunga che corrisponde al modello invece del primo modello di lavoro. Quindi uhmm ... è questo intrinsecamente ambiguo o esiste un modo in cui possiamo effettivamente implementarlo?