Revision e460f23c-0dd3-4b7e-b4de-a9c104b56933 - Code Golf Stack Exchange
# [Retina](https://github.com/mbuettner/retina), 317 bytes
It's really about time I added some decimal-unary conversion feature to Retina...
^
1
+`\b1{1,99}$
0ドル#10ドル
\b(1{3})+\b
Fizz0ドル
(?<!1)(1{5})+\b
Buzz0ドル
z1+
z
$
:0123456789
1\b
1;
+s`\b(?=1)(1*)1円{9}(;(?=.*(0))|1;(?=.*(?<3>1))|11;(?=.*(?<3>2))|111;(?=.*(?<3>3))|1111;(?=.*(?<3>4))|11111;(?=.*(?<3>5))|111111;(?=.*(?<3>6))|1111111;(?=.*(?<3>7))|11111111;(?=.*(?<3>8))|111111111;(?=.*(?<3>9)))
1ドル;3ドル
;|:.*
<empty>
Where `<empty>` represents a trailing empty line. For testing, you can run the above code with the `-s`, in which case the output will be separated by `#` instead of newlines. To get the valid (and counted) program, you should put each line in a separate source file, and replace with `#`s with literal newlines.
For comparison with the other Retina answer, if I omitted the unary-to-decimal conversion, this would be only 72 bytes.
I'll add an explanation when I'm done golfing the conversion code.