Formal Binary String Regular Expression (each pair of 00 must have 11 before it)

I’m trying to construct a formal regex for the language of binary strings in which every 00 must have at least two 1s before it.

I realize this can be done informally with lookbehinds using the following: ^(?:(?<=11)00(?!0)|(?<=1)0|1+)+$ , however I am now trying to construct this formally, without them.

I currently have (0|)(11*0)*1* (or informally (0+ε)(11*0)*1* – I believe these both describe the language mentioned) which gives me the language of binary strings without consecutive 0s, but am not quite sure how to get the ‘conditional’ part in without actually using a conditional.

Accepted:

0

1

10

11100

1100

Rejected:

100

1000

11000