Is there any difference between 0..* and * for representing multiplicity in UML Class Diagrams? I cannot find a comprehensive guide online for multiplicity notations. To me they both seem to be saying the same thing conceptually.
There's not any difference, or at least I've never heard of anyone using them differently.
To me, 0..* is more explicit in the sense that it says explicitly that 0 is an expected case. In another case you may write 1..* to show that 0 is not allowed.
In general, I would just pick one style and stick with it for consistency.