The first pattern should match everything in wildcard matching. You are basically saying.
Contains \
and ends with .dll
The second one should match the last two.
Contains \comic\
and ends with .dll
The last one should match nothing.
Starts with book\
contains \
and ends with .dll
This of course is for pattern matching as described here Matching strings with wildcard and not regular expressions.
In the glob
world, it's not exactly that:
** matches any character including a forward-slash /
* matches any character except a forward-slash (to match just the file or directory name)
So think about it this way. The first pattern will only match the first and the second. By using the double ** you effectively say, I also care about subdirectories.
excellent explanation with more examples: here