In short: because the lookahead you're using is a zero-width
In a more explanatory style: your second regex means something like this: match a url part not containing slashes, followed by a slash (but do not include this slash into to the currently matched substring), and followed by the end of the string.
url part not containing slashes -|- followed by a slash
|- followed by the end of the string
Those followed by
clauses should be fulfilled at the same time, however your url does not contain such a substring.
update: corrected a negation error above, thanks ikegami.