Finding regular expression for a language with more substring of one type than from another Take the alphabet A={0,1} I need to build a regular expression for the language with less or equal substrings 011 than 110. 

I tried to figure out what would be the finite automata but I'm not to sure. 
I also tried to proof it isn't regular using Myhill-Nerode theorem but the problem is the language "readjusts" itself:

110011  (1 110, 1 011)

011110  (1 110, 1 011)

011011  (2 011, 1 110)

110110  (1 011, 2 110)

Now I'm convinced it should be regular but don't know how to proof it.

Edit:

¿Should be something similar to: $(0^{+}11^{+}+11^{+}0^{+})^{*}110(0^{+}11^{+}+11^{+}0^{+})^{*} + \epsilon$?
Hint: Suppose that as you read a word, you keep a counter which increases by 1 whenever you encounter 011, and decreases by 1 whenever you encounter 110. Show that the counter only gets the values 0,1,-1. In other words, between two occurrences of 011 there is an occurrence of 110, and vice versa. Use this to design your regular expression (you could also start with a DFA).