Most cache are LRU based. Items get deleted(evicted) as an when required, as an example, to free memory for new items.
I don't think Laravel's disk(file) based cache has a eviction policy.
If using any other driver (apc/memcached/redis) they will have a built in eviction system, so you need not worry. For disk based cache, you can rely on commands/packages etc...
For those who are still looking for a way to delete only expired cache files, I created a Laravel package. It deletes all expired cache files and empty folders. It also give a nice feedback about how many cache file deleted and how much disk space cleared. Here is the link to the package - https://packagist.org/packages/arifhp86/laravel-clear-expired-cache-file