I'm having trouble constructing a regular expression to meet the following criteria:
$$\sum = \{0,1\}$$
$$\epsilon \in L$$
$$0 \in L$$
$$1 \in L$$
$$\forall x \in L, 110x \in L \land x01 \in L$$
What I have so far is: $$((1^*0)^*(0+1)^*(01)^*)^* \text{ or } (1^*(0+1)^*)$$
However I dont believe this to be fully correct because the $1^*$ implies that not only can $110x \in L$ be true, but so can $1111110x \in L$. Not sure to to structure it such that only the first exists or doesnt.
What really throws me off is Kleene's closure. Because say $(1^*0)^*$ is grouped with a $^*$, that means it may be any combination of whats inside, including nothing at all right? The $\epsilon$ string?
Surely it is not as easy as:
$$(0+1)^*$$
Because $1100000001010101011101010$ would be captured by that expression right?