I'm trying to match the leading zeros of a string to replace with an empty string. I can have a scenario with leading zeros such that there is a decimal: `0000000.005` or without: `000000000005`. 

I've come up with: `/.+?(?=0\.)|.+?(?=[0-9]+)/`. 

The first part matches all the leading zeroes up until I reach a `0.` pattern (i.e. `0000000.005` becomes `0.005`). The second part applies the same lazy, positive lookahead approach to leading zeros without a decimal (i.e. `000000000005` becomes `5`).

Since the second part (`.+?(?=[0-9]+)`) is stronger than the first, it will always turn `0000000.005` into `5`. Is there a way to, in one expression, only match using the first section if there is, say the presence of a decimal, and to use the other expression if not?

Thanks!