Kan iemand mij uitleggen wat de volgende regular expression doet?
Onder een debian-host schotel ik hem dit voor:
en dit levert geen match op (doStuff wordt niet uitgevoerd)
Onder een windows-host schotel ik hem dit voor:
en dit levert _wel_ een hit op: doStuff wordt wel uitgevoerd.
Waar zit hem het verschil? Kan iemand mij dit uitleggen want ik snap er niks van en krijg er (nog meer
) grijs haar van...
(ik heb deze reg-ex niet zelf geschreven, is onderdeel van een pakket wat we hier op het werk gebruiken, en het doel is om dit soort onleesbare dingen er uit te halen & te herschrijven in 'leesbare' code)
gebruikte php-versie: beiden hoger dan 5.2.2
PHP:
1
2
3
| if (preg_match('!^'.$vs_base_dir.'^', $va_volume_info['absolutePath'])) { // doStuff() } |
Onder een debian-host schotel ik hem dit voor:
PHP:
1
2
| $va_volume_info['absolutePath'] = '/var/www//test06/media/providence/workspace' $vs_base_dir = '/var/www/test06' |
en dit levert geen match op (doStuff wordt niet uitgevoerd)
Onder een windows-host schotel ik hem dit voor:
PHP:
1
2
| $va_volume_info['absolutePath'] = 'd:/wamp/www/test06//test06/media/providence/workspace' $vs_base_dir = 'd:/wamp/www/test06' |
en dit levert _wel_ een hit op: doStuff wordt wel uitgevoerd.
Waar zit hem het verschil? Kan iemand mij dit uitleggen want ik snap er niks van en krijg er (nog meer
(ik heb deze reg-ex niet zelf geschreven, is onderdeel van een pakket wat we hier op het werk gebruiken, en het doel is om dit soort onleesbare dingen er uit te halen & te herschrijven in 'leesbare' code)
gebruikte php-versie: beiden hoger dan 5.2.2