Ik heb een een regex waarmee ik alle regels waarin een plaatje dat een link is naar een jpg of een movie uit wil halen. De regex moet dus in grote lijnen dit doen:
1. zoek naar href of HREF
2. kijk of er voor de </a> een src staat (voor img src)
Nou heb ik de volgende regex:
"/([href|HREF][= = ])(.*?)(\.mpg|\.MPG|\.avi|\.AVI|\.mov|\.MOV|\.jpg|\.JPG|\.jpeg|\.JPEG)(.*?)[^\</a\>](.*?)(img|IMG)(.*?)(src[= = ])(.*?)(a>|A>)/i"
Ik neem ze even allemaal stap-voor-stap door zoals ik denk dat het werkt:
1. ([href|HREF][= = ]) match "href=" of "href =" (of in capitals)
2. (.*?) match anything
3. (\.mpg|\.MPG|\.avi|\.AVI|\.mov|\.MOV|\.jpg|\.JPG|\.jpeg|\.JPEG) match iets met die extensies
4. (.*?) match anything
5. [^\<\/a\>] match waar niet </a> in voorkomt, dus de href mag niet afgesloten worden voor de "src" is gematched
6. (.*?) match anything
7. (img|IMG) match img of IMG
8. (.*?) match anything
9. (src[= = ]) match src= of "src = "
10. (.*?) match anything
11. (a>|A>) match het einde van de href, dus /a> of /A>
Nou wilt het dus niet lukken. Als ik punt 5 en 6 weg haal krijg ik wel resultaten maar als ik die laat staan niet (de html code is wel goed)
Kan iemand me vertellen waarom put 5 (en 6) een probleem geeft? Wat doe ik hier verkeerd? Ik match toch daar waar niet "</a>" staat tussen punten 1-4 en 6-11?
Zelfs als ik punt 5 naar [^fasdfasfasd] verander krijg ik geen resultaten
1. zoek naar href of HREF
2. kijk of er voor de </a> een src staat (voor img src)
Nou heb ik de volgende regex:
"/([href|HREF][= = ])(.*?)(\.mpg|\.MPG|\.avi|\.AVI|\.mov|\.MOV|\.jpg|\.JPG|\.jpeg|\.JPEG)(.*?)[^\</a\>](.*?)(img|IMG)(.*?)(src[= = ])(.*?)(a>|A>)/i"
Ik neem ze even allemaal stap-voor-stap door zoals ik denk dat het werkt:
1. ([href|HREF][= = ]) match "href=" of "href =" (of in capitals)
2. (.*?) match anything
3. (\.mpg|\.MPG|\.avi|\.AVI|\.mov|\.MOV|\.jpg|\.JPG|\.jpeg|\.JPEG) match iets met die extensies
4. (.*?) match anything
5. [^\<\/a\>] match waar niet </a> in voorkomt, dus de href mag niet afgesloten worden voor de "src" is gematched
6. (.*?) match anything
7. (img|IMG) match img of IMG
8. (.*?) match anything
9. (src[= = ]) match src= of "src = "
10. (.*?) match anything
11. (a>|A>) match het einde van de href, dus /a> of /A>
Nou wilt het dus niet lukken. Als ik punt 5 en 6 weg haal krijg ik wel resultaten maar als ik die laat staan niet (de html code is wel goed)
Kan iemand me vertellen waarom put 5 (en 6) een probleem geeft? Wat doe ik hier verkeerd? Ik match toch daar waar niet "</a>" staat tussen punten 1-4 en 6-11?
Zelfs als ik punt 5 naar [^fasdfasfasd] verander krijg ik geen resultaten
[ Voor 13% gewijzigd door FireFoz op 30-03-2005 13:23 ]
Leef lekker in het nu, er is niks anders